Zjisteni hodnoty
Dobry den. Potrebuju pomoci s programem, ktery zjisti hodnotu z PowerManagementEvents, viz. http://msdn.microsoft.com/en-us/library/aa394362%28VS.85%29.aspx
Potrebuju konkretne detekovat hodnotu "4", kdy jde PC do rezimu spanku.
Potrebuju to k tomu, abych mohl ukoncit jeden proces pred tim, nez system nabehne do spanku. Jak zabit proces jsem jiz nasel: http://www.autoitscript.com/forum/index.php?showtopic=108372&st=0&p=763650&hl=kill%20process&fromsearch=1entry763650
Ted jen zbyva detekovat tu hodnotu. Pouzivam program AutoIT. Diky za napady.
Potrebuju konkretne detekovat hodnotu "4", kdy jde PC do rezimu spanku.
Potrebuju to k tomu, abych mohl ukoncit jeden proces pred tim, nez system nabehne do spanku. Jak zabit proces jsem jiz nasel: http://www.autoitscript.com/forum/index.php?showtopic=108372&st=0&p=763650&hl=kill%20process&fromsearch=1entry763650
Ted jen zbyva detekovat tu hodnotu. Pouzivam program AutoIT. Diky za napady.
Nikdo nic? Prosim, je to pro me velmi dulezite. Potrebuju jen detekovat prikaz pro rezim spanku. Jeste jsem to ale nedelal:runaway. Predem dik.
Nehci vypadat jako schizofrenik, ze si tu pisu sam se sebou, ale na zahranicni strance jsem se s jednim chlapikem dopracoval k vysledku.
Kdyby nekdo potreboval, zde je kod do skriptovaciho programu AutoIT:
-----------------------------------------------------
#include
Global Const $WM_POWERBROADCAST = 0x218
Global Const $PBT_APMRESUMEAUTOMATIC = 0x12
Global Const $PBT_APMQUERYSUSPEND = 0x0000
Global Const $PBT_APMQUERYSTANDBY = 0x0001
Global Const $PBT_APMQUERYSUSPENDFAILED = 0x0002
Global Const $PBT_APMQUERYSTANDBYFAILED = 0x0003
Global Const $PBT_APMSUSPEND = 0x0004
Global Const $PBT_APMSTANDBY = 0x0005
Global Const $PBT_APMRESUMECRITICAL = 0x0006
Global Const $PBT_APMRESUMESUSPEND = 0x0007
Global Const $PBT_APMRESUMESTANDBY = 0x0008
Global Const $PBTF_APMRESUMEFROMFAILURE = 0x00000001
Global Const $PBT_APMBATTERYLOW = 0x0009
Global Const $PBT_APMPOWERSTATUSCHANGE = 0x000A
Global Const $PBT_APMOEMEVENT = 0x000B
GUICreate("detect WM_POWERBROADCAST")
GUISetState()
GUIRegisterMsg($WM_POWERBROADCAST, "PowerEvents")
$sleeping = False
$lidClosed = False
While GUIGetMsg() <> -3
WEnd
Func PowerEvents($hWnd, $Msg, $wParam, $lParam)
Switch $wParam
Case $PBT_APMQUERYSTANDBY
$lidClosed = True;?
$sleeping = True;?
Case $PBT_APMRESUMEAUTOMATIC
$sleeping = False
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
-----------------------------------------------------
Neni to uplne ten, co ted pouzivam (trochu jsem ho upravil), ale pro zaklad staci.
Kdyby nekdo potreboval, zde je kod do skriptovaciho programu AutoIT:
-----------------------------------------------------
#include
Global Const $WM_POWERBROADCAST = 0x218
Global Const $PBT_APMRESUMEAUTOMATIC = 0x12
Global Const $PBT_APMQUERYSUSPEND = 0x0000
Global Const $PBT_APMQUERYSTANDBY = 0x0001
Global Const $PBT_APMQUERYSUSPENDFAILED = 0x0002
Global Const $PBT_APMQUERYSTANDBYFAILED = 0x0003
Global Const $PBT_APMSUSPEND = 0x0004
Global Const $PBT_APMSTANDBY = 0x0005
Global Const $PBT_APMRESUMECRITICAL = 0x0006
Global Const $PBT_APMRESUMESUSPEND = 0x0007
Global Const $PBT_APMRESUMESTANDBY = 0x0008
Global Const $PBTF_APMRESUMEFROMFAILURE = 0x00000001
Global Const $PBT_APMBATTERYLOW = 0x0009
Global Const $PBT_APMPOWERSTATUSCHANGE = 0x000A
Global Const $PBT_APMOEMEVENT = 0x000B
GUICreate("detect WM_POWERBROADCAST")
GUISetState()
GUIRegisterMsg($WM_POWERBROADCAST, "PowerEvents")
$sleeping = False
$lidClosed = False
While GUIGetMsg() <> -3
WEnd
Func PowerEvents($hWnd, $Msg, $wParam, $lParam)
Switch $wParam
Case $PBT_APMQUERYSTANDBY
$lidClosed = True;?
$sleeping = True;?
Case $PBT_APMRESUMEAUTOMATIC
$sleeping = False
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
-----------------------------------------------------
Neni to uplne ten, co ted pouzivam (trochu jsem ho upravil), ale pro zaklad staci.