Код: Выделить всё
#include
#include
#include
Run("taskmgr.exe")
WinWait("[CLASS:#32770;REGEXPTITLE:.*Windows.*]", "", 5)
$hTskMgr = WinGetHandle("[CLASS:#32770;REGEXPTITLE:.*Windows.*]")
If Not WinExists($hTskMgr) Then Exit
$hMenu = _GUICtrlMenu_GetMenu($hTskMgr)
$hSubMenu = _GUICtrlMenu_GetItemSubMenu($hMenu, -1) ;change to 3th submenu (zero-based), now it will only show the "About" window.
$iItemID = _GUICtrlMenu_GetItemID($hSubMenu, 3) ;2 = Shutdown, 3 = Restart (2 and 3 it's zero-based item from the top of menu)
_SendMessage($hTskMgr, $WM_COMMAND, $iItemID, 0)не работает!

Кстати, я заметил taskmgr.exe изменяет пункты меню взависимости от активных табов
Постоянными являются File|Options|View| далее если активный первый таб Applications то следуют Windows|Shut Down|Help
Ежели активный таб Processes второй по счёту или любой другой за ним, то пункт Windows в этой последовательности отсутствует!
Список Shut Down таков: Stand By|Hibernate|Turn Off|Restart|Log Off Semiono|Lock Computer Win Key+L
Я вот думаю может там специально секьюрность встроенна и автоитом не возможно перезагрузить комп?
Хочу напомнить, что shutdown() у меня не работает, проблемма такая. Только работает через графич. кнопки...
... я менял номера в скрипте, хотя методом тыка, вроде не получается!
