Sendmessage empfangen

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
dragon476
Beiträge: 9
Registriert: 10. Mai 2009 15:51

Sendmessage empfangen

Beitrag von dragon476 »

Hi,
ich versuche mittels dem QT-Creator ein Programm zu schreiben, das auf Window-Messages reagiert. Doch leider passiert nichts. Beim kompilieren gibt es keine Probleme, aber das Programm reagiert nicht auf die Nachrichten.
Mein Code mit dem ich es probiert habe:

Code: Alles auswählen

LRESULT CALLBACK MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_PAINT:
...
break;
}}
mfG Maddin
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Und wie rufst du MsgProc auf?
Und warum brauchst du das überhaupt?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dragon476
Beiträge: 9
Registriert: 10. Mai 2009 15:51

Beitrag von dragon476 »

Hi,
in den Beispielen die ich gefunden habe, gingen die windows Nachrichten direkt an diese Prozedur. Wenn dies funktioniert, wollte ich auf Wm_copydata reagieren um von einer anderen anwendung mit sendmessage einen string an diese anwendung zu schicken

MfG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Eine Funktion muss aufgerufen werden sonst kann sie auch nicht ausgeführt werden... :roll:
Und was soll das mit Qt zu tun haben?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

@dragon476: Ich hoffe Du hast deine eigene Application-Klasse, abgeleitet von QApplication, sonst wird das nichts. Dann brauchst Du nur winEventFilter( MSG* msg, long* l ) implementieren und es fluppt.

@Christian81: Sein Beispiel mit WM_PAINT ist Unfug, aber es gibt so einige Messages, die man eventuell mitbekommen möchte. WM_QUERYENDSESSION, WM_ENDSESSION oder WM_DEVICECHANGE, um nur mal einige zu nennen.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich weiß - aber sein Beispiel zeigt dies nicht auf und es sieht so aus als möchte er WM_PAINT implementiere.
Und Sessions handelt man über QSessionManager ;)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dragon476
Beiträge: 9
Registriert: 10. Mai 2009 15:51

Beitrag von dragon476 »

Okay, sollte sich eigentlich auf WM_COPYDATA beziehen,sry ;)

Also nachdem ich jetzt eine eigene Klasse von QApplication abgeleitet habe, kann das Programm auch Sendmessages empfangen. Nur wie bekomme ich jetzt den Inhalt in meine andere Klasse?

Code: Alles auswählen

int main(int argc, char *argv[])
{
    EventFilter a(argc, argv); //Hier ist der winEventFilter drin (von QApplication abgeleitet)
    reader w; //Hier drin soll der Inhalt der Nachricht verarbeitet werden (von QMainWindow abgeleitet)
    w.show();
    return a.exec();
}
[quote][/quote]
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Eigenes Signal verschicken.
Antworten