INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

WM_QUERYENDSESSION abfragen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

05.03.2009, 13:43
Beitrag #1

htw10870 Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Nov 2004

6.1, 8.00, 8.2, 8.2.1, 8.5, 8.5.1, 8.6, 2010
2004
de

01468
Deutschland
WM_QUERYENDSESSION abfragen
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 14:10
Beitrag #2

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
WM_QUERYENDSESSION abfragen
' 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 Rolleyes

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 16:50
Beitrag #3

Curtis Newton Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 132
Registriert seit: Apr 2008

8.5
2008
de

14***
Deutschland
WM_QUERYENDSESSION abfragen
' schrieb: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

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 17:24
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
WM_QUERYENDSESSION abfragen
' schrieb:http://zone.ni.com/devzone/cda/epd/p/id/4394
Hey, cool. Hehe

Endlich mal ein File, in dem Werte von WM_-Bezeichner stehen - wenn auch nicht vollständig.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2009, 18:50
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.695
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
WM_QUERYENDSESSION abfragen
Ich habs mal nach 711 und 861 konvertiert.


Angehängte Datei(en)
Sonstige .zip  WinLV_MsgQueue_711.zip (Größe: 204,02 KB / Downloads: 161)

Sonstige .zip  WinLV_MsgQueue_861.zip (Größe: 158,81 KB / Downloads: 191)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 07:24 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2009 07:27 von rolfk.)
Beitrag #6

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
WM_QUERYENDSESSION abfragen
' schrieb:Hey, cool. Hehe

Endlich mal ein File, in dem Werte von WM_-Bezeichner stehen - wenn auch nicht vollständig.

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

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 10:00
Beitrag #7

Wulfi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 126
Registriert seit: Jan 2007

2012 DeveloperSuite + MathScript
2006
DE

45xxx
Deutschland
WM_QUERYENDSESSION abfragen
' 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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 11:11
Beitrag #8

htw10870 Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Nov 2004

6.1, 8.00, 8.2, 8.2.1, 8.5, 8.5.1, 8.6, 2010
2004
de

01468
Deutschland
WM_QUERYENDSESSION abfragen
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.

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 13:13
Beitrag #9

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
WM_QUERYENDSESSION abfragen
' schrieb: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.
Könntest du uns noch mitteilen mit welcher Version das so (einfach) geht.
(ev. erst mit labVIEW8.6 und mit 8.2 nicht)

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2009, 13:37
Beitrag #10

htw10870 Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Nov 2004

6.1, 8.00, 8.2, 8.2.1, 8.5, 8.5.1, 8.6, 2010
2004
de

01468
Deutschland
WM_QUERYENDSESSION abfragen
' schrieb:Könntest du uns noch mitteilen mit welcher Version das so (einfach) geht.
(ev. erst mit labVIEW8.6 und mit 8.2 nicht)

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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: