unterstüzen tut es mein system...
aber in den ruhezustand fährt er nicht
hier mein text
Code: Alles auswählen
;-Programm Start
Open_Window_0()
If OpenLibrary(0,"powrprof.dll") And IsFunction(0,"SetSuspendState")
erg=CallFunction(0,"IsPwrHibernateAllowed")
If erg=0
MessageRequester ("Ruhezustand","Ruhezustand wird NICHT unterstützt!")
Else
EndIf
CloseLibrary(0)
EndIf
Procedure EnableShutDown()
Privileges.TOKEN_PRIVILEGES
OpenProcessToken_(GetCurrentProcess_(), 40, @hToken)
Privileges\PrivilegeCount = 1
Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
LookupPrivilegeValue_(0, "SeShutdownPrivilege", @Privileges\Privileges[0]\Luid)
AdjustTokenPrivileges_(hToken, 0, @Privileges, 0, 0, 0)
CloseHandle_(hToken)
EndProcedure
Procedure LogOffControl(flag.l)
EnableShutDown()
Select flag.l
Case 1
ExitWindowsEx_(#EWX_LOGOFF,1)
Case 2
ExitWindowsEx_(#EWX_SHUTDOWN | #EWX_POWEROFF,0)
Case 3
ExitWindowsEx_(#EWX_POWEROFF,0)
Default
ExitWindowsEx_(#EWX_REBOOT,0)
EndSelect
EndProcedure
Repeat
;System Zeit auslesen
Time.l = Date()
HH$ = FormatDate("%hh", Time)
MM$ = FormatDate("%ii", Time)
SS$ = FormatDate("%ss", Time)
;Abfrage für die Aktion die nach ereichen der zeit durchgeführt werden soll.
If HH$=GetGadgetText(#String_0)
If MM$=GetGadgetText(#String_1)
If SS$=GetGadgetText(#String_2)
If go=1
;Die Aktion die durchgefürt wird
If GetGadgetState(#Combo_0)=0
; MessageRequester("Überschrift","Herunterfahren",#PB_MessageRequester_Ok)
LogOffControl(3);Herunterfahren
ElseIf GetGadgetState(#Combo_0)=1
; MessageRequester("Überschrift","Nerstart",#PB_MessageRequester_Ok)
LogOffControl(0); Neustart
ElseIf GetGadgetState(#Combo_0)=2
MessageRequester("Überschrift","Ruhezustand",#PB_MessageRequester_Ok)
CallFunction(0,"SetSuspendState",1,0,0)
EndIf
;MessageRequester("Überschrift","Ok Button",#PB_MessageRequester_Ok)
go.l=0
EndIf
EndIf
EndIf
EndIf
;Einen moment Warten (1Milli Sekunde)
Delay(1)
; Event = WaitWindowEvent()
Event = WindowEvent()
Select event
;-Button abfrage
Case #PB_EventGadget ; verzweigung bei Gadgetevents
Select EventGadgetID()
Case (#Button_0) ;Button "OK"
go.l=1
Case (#Button_1) ;Button "Abbrechen"
Gosub Ende
Return
;MessageRequester("Überschrift","Abbruch Button",#PB_MessageRequester_Ok)
EndSelect
EndSelect