Как я могу проверить, развернуто ли активное окно с помощью VBS? - PullRequest
0 голосов
/ 01 октября 2010

Когда я работаю, я хочу иметь возможность развернуть или восстановить окно. Но я хочу использовать только одну горячую клавишу для этого. В настоящее время я использую приведенный ниже код для выполнения функции максимизации. Однако, если окно уже развернуто, оно не будет «восстанавливать» окно.

Set oShell = CreateObject("WScript.Shell") 
oShell.SendKeys "% x"

Полагаю, я думаю о таком коде:

if window state=Maximized 
then Restore
else Maximize

Эта логика «максимизирует» окно, если оно не, и «восстанавливает» его, если оно есть.

Спасибо.

PS: дополнительные баллы, если вы пропустите всю функцию SendKeys и перейдете к собственным командам.

1 Ответ

1 голос
/ 01 октября 2010

VBScript и Windows Script Host не предоставляют доступ к Windows API, поэтому вы не можете этого сделать.

Возможный обходной путь - написать специальную утилиту (на C ++, C # с PInvoke и т. Д.), Которая будет выполнять такую ​​проверку и вызывать ее из вашего скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...