Hallo zusammen,
Ich habe mit PB ein Programm geschrieben, das mit einer Datenbank interagiert. Da die Datenbank-Abfrage gern etwas länger dauert, hab ich die Daten erst mal in ein paar Structures gehalten und lade es zum Server, wenn der Nutzer "save" klickt.. Bis Windows XP konnte ich dann auch beim Programmende noch die letzten gehaltenen Datensätze abspeichern und dann das Programm schließen.
Leider ist es nicht ganz hilfreich, dass Windows nach XP nicht mehr darauf reagiert, wenn man WM_QUERYENDSESSION abfängt.
Ich hab ein wenig in der Library gesucht und bin auf folgende Einträge gestoßen:
ShutdownBlockReasonCreate function
ShutdownBlockReasonDestroy function
Nun meine Frage: Wie setze ich das in PureBasic um? Ich würde bei einem Aufruf, mein Programm zu beenden, gern noch die letzten Änderungen an die Datenbank senden..
PureBasic scheint ShutdownBlockReasonCreate_() und ShutdownBlockReasonDestroy_() nicht zu kennen.
Windows Shutdown Vista/7/8 (API)
Re: Windows Shutdown Vista/7/8 (API)
Dann importier es.
Beispielsweise:
Getestet habe ich es aber nicht.
\\Edit:
Board-Suche kann helfen
: http://www.purebasic.fr/english/viewtop ... 13&t=45887
Beispielsweise:
Code: Alles auswählen
EnableExplicit
Define pSessionId
If OpenLibrary(0,"User32.dll")
Prototype ShutdownBlockReasonDestroy(hWnd)
Define ShutdownBlockReasonDestroy.ShutdownBlockReasonDestroy = GetFunction(0,"ShutdownBlockReasonDestroy")
ShutdownBlockReasonDestroy(WindowID(#Window))
EndIf
\\Edit:
Board-Suche kann helfen

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Windows Shutdown Vista/7/8 (API)
Der Prototype ist aber irgendwie umständlich im engl. Forum, besser:
dann kann man diese komische Unicodewandel routine wieder entfernen 
Code: Alles auswählen
Prototype ProtoShutdownBlockReasonCreate(hWnd.i, pwszReason.p-Unicode)

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
