Показать полную графическую версию : [решено] WinMenuSelectItem - прошу помощи
упорно отказывается работать..
простенький кусок скрипта к примеру:
Run ("C:\Program Files\7-Zip\7zFM.exe")
WinWaitActive ("7-Zip File Manager", "", 1000)
$i=WinMenuSelectItem ("7-Zip File Manager", "", "Файл")
msgbox (64, "11", $i)
Функция возвращает 0, т.е. нажатия не происходит. С чем это может быть связано?
Функция возвращает 0, т.е. нажатия не происходит. »
А куда оно должно нажать? :)
Вот так работает:
Run (http://www.autoitscript.com/autoit3/docs/functions/Run.htm)("C:\Program Files\7-Zip\7zFM.exe")
WinWaitActive (http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm)("7-Zip File Manager", "", 5)
$i = WinMenuSelectItem (http://www.autoitscript.com/autoit3/docs/functions/WinMenuSelectItem.htm)("7-Zip File Manager", "", "&Справка", "О &программе...")
ConsoleWrite (http://www.autoitscript.com/autoit3/docs/functions/ConsoleWrite.htm)($i)
P.S
И куски кода нужно заключать в соответствующий тег.
Если нужно просто раскрыть меню Файл, то можно и так:
Run (http://www.autoitscript.com/autoit3/docs/functions/Run.htm)("C:\Program Files\7-Zip\7zFM.exe")
WinWaitActive (http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm)("7-Zip File Manager", "", 5)
ControlSend (http://www.autoitscript.com/autoit3/docs/functions/ControlSend.htm)("7-Zip File Manager", "", "", "{ALT}{DOWN}")
Run ("C:\Program Files\7-Zip\7zFM.exe")
Sleep(1000)
;WinWaitActive ("7-Zip File Manager", "", 1000)
$i=WinMenuSelectItem ("[CLASS:FM]", "", "&Файл", '&Создать Папку')
msgbox (64, "11", $i)
Меню должно быть таким, что после нажатия на оно исчезает. А Файл - не относится к такому виду. Поэтому надо выбрать дальше, пока не дойдешь до последнего субменю.
Прошу прощения, не знал про теги )
Спасибо за помощь, меня теперь интересует только один аспект.
Как узнать, куда амперсенд втыкать в название пункта?
У меня буквы почему-то не подчеркивает, ВинИнфо на пункты меню не реагирует.. Я в замешательстве )
Freez, нажми Alt. а потом стрелками верх-вниз, право-влево проваливаясь в нужные субменю. все подчеркивания должны быть видны
kaster, действительно помогло
Всем спасибо )
А ещё можно Resource Hacker'ом (как один из примеров) посмотреть значения всех пунктов меню, плюс узнать их ID (идентификаторы), тогда нажимать на меню можно будет так:
#include <WindowsConstants.au3>
#include <SendMessage.au3>
;
Run (http://www.autoitscript.com/autoit3/docs/functions/Run.htm)(@ProgramFilesDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ProgramFilesDir) & "\7-Zip\7zFM.exe")
WinWaitActive (http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm)("[CLASS:FM;TITLE:7-Zip File Manager]", "", 5)
$h7zip = WinGetHandle (http://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm)("[CLASS:FM;TITLE:7-Zip File Manager]")
WinActivate (http://www.autoitscript.com/autoit3/docs/functions/WinActivate.htm)($h7zip)
_SendMessage($h7zip, $WM_COMMAND, 620, 0) ;Пункт "О программе..."
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC