1

Тема: Vbs для невозможности свернуть окно

Здравствуйте, подскажите vbs скрипт чтоб он не давал свернуть окно определённой программы. Заранее спасибо.

2

Re: Vbs для невозможности свернуть окно

Берите библиотеку: Обзор библиотеки AutoItX3.dll, регистрируйте её, пользуйте:

+ открыть спойлер
Option Explicit

Const strWindow = "[REGEXPTITLE:^.* - Блокнот$; CLASS:Notepad]"

Dim objAutoItX3


Set objAutoItX3 = WScript.CreateObject("AutoItX3.Control")

Do
    If objAutoItX3.WinGetState(strWindow) And 16 = 16 Then
        objAutoItX3.WinSetState strWindow, "", objAutoItX3.SW_RESTORE
    End If
    
    WScript.Sleep 5000
Loop

WScript.Quit 0

P.S. Зачем это Вам?

3 (изменено: alexii, 2013-10-02 01:08:28)

Re: Vbs для невозможности свернуть окно

Мне нужно для игры чтоб, не могли сворачивать и общаться по микрофону. Это придётся значит всем пользователям регить эту дллку, а это не есть гуд.
Попробуем пойти другим путём Вот у меня есть vbs скрипт который при запуске разварачавает свёрнутое окно, вот нужно сделать чтоб его 1 раз запустить и он автоматом разворачивал окно  при попытке свернуть. Подскажите что нужно туда дописать или как это сделать?

Пример скрипта:

 Set SH = CreateObject("WScript.Shell")
 Set locator = CreateObject("WbemScripting.SWbemLocator")
 Set service = locator.ConnectServer()
 Set props = service.ExecQuery("select * from Win32_Process where name = 'notepad.exe'")
 For Each objProcess in props
 SH.AppActivate objProcess.ProcessId
 Next
 SH.SendKeys "{Enter}"

4

Re: Vbs для невозможности свернуть окно

Вы полагаете, что «все пользователи» будут терпеть это? Сильно сомневаюсь.

Оборачивайте от «Set props =» и до «Next» включительно в цикл Do…Loop и добавьте перед «Next» паузу. Ровно так же, как это сделано в предыдущем скрипте.

5

Re: Vbs для невозможности свернуть окно

Напишите пожайлуста готовый скрипт, а то у меня ошибки какие то вылазиют. Заранее спасибо.

6

Re: Vbs для невозможности свернуть окно

Пример скрипта:

 Set SH = CreateObject("WScript.Shell")
 Set locator = CreateObject("WbemScripting.SWbemLocator")
 Set service = locator.ConnectServer()
Do
 Set props = service.ExecQuery("select * from Win32_Process where name = 'notepad.exe'")
 For Each objProcess in props
 SH.AppActivate objProcess.ProcessId
 Next
 WScript.Sleep 5000
Loop
 SH.SendKeys "{Enter}"

7 (изменено: CHAMPION, 2013-10-02 18:42:53)

Re: Vbs для невозможности свернуть окно

Спасибо, только странность какая то запускаю скрипт, окно не разворачивается, а в трее моргает лаунчер.

8

Re: Vbs для невозможности свернуть окно

Никакой странности: либо Вы определяете не то приложение по исполняемому файлу, либо искомое окно - дочернее, а не главное для приложения.

В любом случае, без конкретики будет беспредметный разговор.