2 Beispielcodes [WinAPI]
Verfasst: 05.03.2011 17:27
Fenstereinstellungen speichern und wiederherstellen
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())
Batterie-Statusinformationen ermitteln
Mit diesem Code können die Statusinformationen einer Batterie ermittelt werden:
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