WM_QUERYENDSESSION abfragen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: WM_QUERYENDSESSION abfragen (/Thread-WM-QUERYENDSESSION-abfragen) |
WM_QUERYENDSESSION abfragen - htw10870 - 05.03.2009 13:43 Hallo, ich habe ein LV Programm auf einem Rechner laufen der über den Windows Shutdown Befehl runtergefahren wird. Windows sendet in dem Fall an die Programme den WM_QUERYENDSESSION. Ich möchte diese Message auswerten um mein Programm geziehlt zu beenden, da eine Menge Treiber deinitialisiert werden und normalerweise diverse Speichervorgänge stattfinden. Wie realisiert man das in LV? Grüße Mathias WM_QUERYENDSESSION abfragen - RoLe - 05.03.2009 14:10 ' schrieb:Wie realisiert man das in LV?Weiss ich auch nicht, da noch nie gebraucht. Die Event-Struktur hat ein "Application Instance Close?" (das rote), ev. geht es damit, musst du mal testen und rückmelden WM_QUERYENDSESSION abfragen - Curtis Newton - 05.03.2009 16:50 ' schrieb:Hallo, http://zone.ni.com/devzone/cda/epd/p/id/4394 Nicht probiert und schon seeeeehr alt (LV5). Aber vielleicht klpaats ja. Andere Idee: DLL machen, die erst zurückkommt nach Emopfang von WM_QUERYENDSESSION. Die dll in ein sub-vi?!?! C. WM_QUERYENDSESSION abfragen - IchSelbst - 05.03.2009 17:24 ' schrieb:http://zone.ni.com/devzone/cda/epd/p/id/4394Hey, cool. Endlich mal ein File, in dem Werte von WM_-Bezeichner stehen - wenn auch nicht vollständig. WM_QUERYENDSESSION abfragen - IchSelbst - 05.03.2009 18:50 Ich habs mal nach 711 und 861 konvertiert. WM_QUERYENDSESSION abfragen - rolfk - 06.03.2009 07:24 ' schrieb:Hey, cool. Die sind nicht geheim, sondern alle bis auf die wirklich geheimen, da nur in MS Applikationen intern gebraucht, auf http://msdn.microsoft.com zu finden. Aber wenn Du eine aktuelle Version von LabVIEW verwendest sollte das nicht mehr nötig sein. Es gibt da auf der NI site auch noch ein Dokument das erklärt wie das mittels der Event Struktur gemacht werden kann, so wie Role das auch schon angegeben hat, allerdings ist es ein wenig komplizierter als von ihm angegeben. Allerdings ist das allemal noch VIEL einfacher als sich mit der Windows Message Queue DLL rumzuschlagen!!! Da war auch noch mal ein Thread auf dem englischen Schwesterforum http://forums.lavag.org über wie das mit der Event Struktur gehen muss. Rolf Kalbermatter WM_QUERYENDSESSION abfragen - Wulfi - 06.03.2009 10:00 ' schrieb:Es gibt da auf der NI site auch noch ein Dokument das erklärt wie das mittels der Event Struktur gemacht werden kann, so wie Role das auch schon angegeben hat, allerdings ist es ein wenig komplizierter als von ihm angegeben. Hast dua uch zufällig nen Link. Stelle mich beim Suchen gerade mal wieder zu doof an :-( Besten dank WM_QUERYENDSESSION abfragen - htw10870 - 06.03.2009 11:11 Hallo, danke für die rege Beteiligung. Es funktioniert tatsächlich mit einer Eventstruktur und der Abrage "Applikationsinstanz schließen?". Das schöne daran ist, das trotzdem noch die komplette Sequenz abgearbeitet wird, d.h. das ganze Speichern und Deinitialisieren kann im letzten Teil der Sequenz erfolgen und muss nicht in der Eventstruktur erledigt werden. [attachment=17071] WM_QUERYENDSESSION abfragen - RoLe - 06.03.2009 13:13 ' schrieb:Hallo,Könntest du uns noch mitteilen mit welcher Version das so (einfach) geht. (ev. erst mit labVIEW8.6 und mit 8.2 nicht) WM_QUERYENDSESSION abfragen - htw10870 - 06.03.2009 13:37 ' schrieb:Könntest du uns noch mitteilen mit welcher Version das so (einfach) geht. Hallo, das Programm mit dem Screenshot ist mit der Version 8.5.1 erstellt. In der Versoin 6.1 gibts ein Event "Applikation beenden". Auch dieses kann man abfragen - allerdings wird damit auch der Abmelde-/Shutdown-Prozess gestoppt. Andere Versionen zum testen habe ich gerade nicht griffbereit. Grüße |