Windows Shutdown Vista/7/8 (API)

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Windows Shutdown Vista/7/8 (API)

Beitrag von KatSeiko »

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_QUERY­END­SESSION 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.
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Windows Shutdown Vista/7/8 (API)

Beitrag von RSBasic »

Dann importier es.
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
Getestet habe ich es aber nicht.

\\Edit:
Board-Suche kann helfen :): http://www.purebasic.fr/english/viewtop ... 13&t=45887
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
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)

Beitrag von ts-soft »

Der Prototype ist aber irgendwie umständlich im engl. Forum, besser:

Code: Alles auswählen

Prototype ProtoShutdownBlockReasonCreate(hWnd.i, pwszReason.p-Unicode)
dann kann man diese komische Unicodewandel routine wieder entfernen :mrgreen:
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.
Bild
Antworten