[WinAPI] Shutdown und Ruhezustand Events versagen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

hazumu-kun

Betreff: [WinAPI] Shutdown und Ruhezustand Events versagen

BeitragDo, Okt 28, 2010 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe folgenden Code als Test geschrieben um in ein Programm von mir einzubauen, dass es behandelt wenn das System runterfährt oder in den ruhezustand geht, um ein paar Konfigurationen zu sichern.
BlitzBasic: [AUSKLAPPEN]

Const WM_ENDSESSION=22
Const WM_ENTERIDLE=289

; #### Typen
Type MSG
Field hwnd
Field message
Field wParam
Field lParam
Field time$
Field pt.POINT
End Type

Type POINT
Field x
Field y
End Type
; ####
Global stream
Global w_message.MSG = New MSG

While(1)
EventHandler()
Delay 100
Wend

Function EventHandler()
Local idles,shutdowns
While api_PeekMessage (w_message,0,0,0,1)
api_TranslateMessage (w_message)
If w_message\message=WM_ENDSESSION Then
stream= WriteFile ("shutdown")
WriteLine stream,"1"
CloseFile stream
ElseIf w_message\message=WM_ENTERIDLE Then
stream= WriteFile ("idle")
WriteLine stream,"1"
CloseFile stream
Else
api_DefWindowProc(w_message\hwnd,w_message\message,w_message\wParam,w_message\lParam)
EndIf
Wend
End Function

Das haut aber nicht wirklich hin, nach dem Neustart der VM, in der ich teste, erscheint die Datei shutdown nicht. Hilfe!
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

BtbN

BeitragDo, Okt 28, 2010 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Du übergibst einen Bmax Type an eine funktion, die nicht mit einem BBObject* rechnet. Folglich nutzt es die BMax internen daten-strukturen mit, die vor jedem Type liegen, und macht folglich nur mist, anstatt etwas sinnvollem.

hazumu-kun

BeitragDo, Okt 28, 2010 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
1.) Lies mal im welchem forum ich gepostet hab
2.) Das System mit dem übergeben von Types ist getestet und als funktionierend befunden. Nach dem "Pointer" kommen direkt alle Fields in der Reihenfolge in der sie definiert wurden.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

BtbN

BeitragDo, Okt 28, 2010 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, ok, hab nur Type und WinAPI funktion gesehen, und nicht weiter gedacht Very Happy

hazumu-kun

BeitragMo, Nov 01, 2010 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mich ein wenig eingelesen in das Thema.

Um dieses Event abzufangen müsste man Blitzintern hacken(am windowProc Callback nämlich).
Dazu bin ich aber wirklich nicht in der Lage.

Menno, Sprachen wie C sehen für mich immer lukrativer aus, leider bin ich zu faul ^^
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group