Mit diesem Code können die Fenstereinstellungen wie Größe und Position vollständig gespeichert und wiederhergestellt werden, ohne dass man diese jeweils einzeln ermitteln muss. (WindowWidth(), WindowHeight(), WindowX(), WindowY(), GetWindowState())
Code: Alles auswählen
EnableExplicit
Define EventID
Define hWndPM.WINDOWPLACEMENT
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget)
ButtonGadget(1,10,10,200,20,"1. Fenstereinstellungen speichern",0)
TextGadget(2,10,40,480,20,"2. Jetzt verändere z.B. die Fenstergröße und die Fensterposition.",0)
ButtonGadget(3,10,60,200,20,"3. Fenstereinstellungen wiederherstellen",0)
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
Select EventGadget()
Case 1
GetWindowPlacement_(WindowID(0),hWndPM)
Case 3
SetWindowPlacement_(WindowID(0),hWndPM)
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
;SetWindowPlacement: http://msdn.microsoft.com/en-us/library/ms633544%28v=vs.85%29.aspx
;GetWindowPlacement: http://msdn.microsoft.com/en-us/library/ms633518%28v=vs.85%29.aspx
Batterie-Statusinformationen ermitteln
Mit diesem Code können die Statusinformationen einer Batterie ermittelt werden:
Code: Alles auswählen
EnableExplicit
Define SysPS.SYSTEM_POWER_STATUS
GetSystemPowerStatus_(SysPS)
Select SysPS\ACLineStatus & $FF
Case 0
Debug "Es wurde kein externes Netzteil angeschlossen."
Case 1
Debug "Externes Netzteil ist angeschlossen."
Case 2
Debug "Es konnte nicht ermittelt werden, ob ein externes Netzteil angeschlossen ist."
EndSelect
Select SysPS\BatteryFlag & $FF
Case 1
Debug "Die Batterie ist über 66 % aufgeladen."
Case 2
Debug "Die Batterie ist weniger als 33 % aufgeladen."
Case 4
Debug "Die Batterie ist fast leer."
Case 8
Debug "Die Batterie wird gerade aufgeladen."
Case 128
Debug "Es konnte keine Batterie gefunden werden."
Case 255
Debug "Fehler beim Auslesen."
EndSelect
;Diese Daten nur dann abfragen, wenn Batterie angeschlossen ist, da sonst 255 zurückgegeben wird.
Debug "Gesamt-Zeit: "+Str(SysPS\BatteryFullLifeTime & $FF)
Debug "In Prozent: "+Str(SysPS\BatteryLifePercent & $FF)
Debug "Verbleibende Zeit: "+Str(SysPS\BatteryLifeTime & $FF)
;GetSystemPowerStatus: http://msdn.microsoft.com/en-us/library/aa372693%28v=vs.85%29.aspx