reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Zjisteni hodnoty

durib (1141)|11.2.2010 20:23
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=1&#entry763650
Ted jen zbyva detekovat tu hodnotu. Pouzivam program AutoIT. Diky za napady.
durib (1141)|14.2.2010 13:45
Nikdo nic? Prosim, je to pro me velmi dulezite. Potrebuju jen detekovat prikaz pro rezim spanku. Jeste jsem to ale nedelal:runaway. Predem dik.
durib (1141)|16.2.2010 16:25
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.