Тема: Vbs для невозможности свернуть окно
Здравствуйте, подскажите vbs скрипт чтоб он не давал свернуть окно определённой программы. Заранее спасибо.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → Windows Script Host, HTA (VBScript, JScript) → Vbs для невозможности свернуть окно
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, подскажите 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. Зачем это Вам?
Мне нужно для игры чтоб, не могли сворачивать и общаться по микрофону. Это придётся значит всем пользователям регить эту дллку, а это не есть гуд.
Попробуем пойти другим путём Вот у меня есть 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}"Вы полагаете, что «все пользователи» будут терпеть это? Сильно сомневаюсь.
Оборачивайте от «Set props =» и до «Next» включительно в цикл Do…Loop и добавьте перед «Next» паузу. Ровно так же, как это сделано в предыдущем скрипте.
Напишите пожайлуста готовый скрипт, а то у меня ошибки какие то вылазиют. Заранее спасибо.
Пример скрипта:
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}"Спасибо, только странность какая то запускаю скрипт, окно не разворачивается, а в трее моргает лаунчер.
Никакой странности: либо Вы определяете не то приложение по исполняемому файлу, либо искомое окно - дочернее, а не главное для приложения.
В любом случае, без конкретики будет беспредметный разговор.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться