Re: WndProc und Consolen Applikation
- From: "Günter Prossliner" <g.prossliner/gmx/at>
- Date: Wed, 16 Aug 2006 17:24:24 +0200
Hallo Peter!
ich möchte die Events aus der überschriebenen Methode WndProc in meine
Konsolen (später Dienst) Anwendung umleiten.
Musst Du ein (bestehendes) Kommunikationsprotokoll implementieren? Oder
warum willst Du eine WndProc verwenden?
Da WndProc nur für
Windows.Forms gilt dachte ich mir ich erstelle eine nichtsichtbare
form die mir die Events an meine Konsole übermittelt. Code:
//window
class Notify : System.Windows.Forms.NativeWindow
Warum tust Du Dir den Aufwand an von einem NativeWindow zu erben. Verwende
einfach ein "normales" System.Windows.Form Window.
Message m =new Message();
base.CreateHandle(cp);
An dieser Stelle wird zwar das Handle (und somit das Window) erstellt ...
base.WndProc(ref m);
.... allerdings kann an dieser Stelle noch keine Bearbeitung der Nachricht
stattfinden, da noch keine Message-Queue gestartet wurde.
Notify n =new Notify();
//was nun?
Du musst eine Message-Queue für den Thread starten. Das kann entweder
mittels
Application.Run(n);
oder auch mittels
n.ShowDialog();
erfolgen. In jedem Fall blockiert der Thread bis das Window geschlossen wird
(eben weil dieser klarerweise zur Abarbeitung der MessageQueue "abgestellt"
ist). Es ist aber durchaus möglich dazu einen seperaten Thread zu verwenden.
Der gepostete code funktioniert leider nicht. Es passiert leider gar
nichts... Jetzt weiß ich nicht wie ich die Events aus Notify::WndProc
in meine Konsole "umleite".
Schildere als erstes mal warum überhaupt die WndProc & Windows Messages.
Wenn es dafür nicht eine unabdingbaren Grund (z.B. Kommunikation mit nicht
veränderbaren Komponenten) gibt, würde ich .Net Kommunkationsmechanismen
(z.B. Remoting) verwenden.
OK?
mfg GP
.
- References:
- WndProc und Consolen Applikation
- From: Peter Wagner
- WndProc und Consolen Applikation
- Prev by Date: Re: Probleme mit einem fehlenden Assembly
- Next by Date: Re: Hashtable mit short als Key
- Previous by thread: WndProc und Consolen Applikation
- Next by thread: Re: Geätzte Linie über die Toolbox in eine form einfügen ?
- Index(es):
Relevant Pages
|