Entwickler-Ecke
Sonstiges (.NET) - WindowMessages empfangen und verwenden?
margul - Di 27.05.08 20:15
Titel: WindowMessages empfangen und verwenden?
Hallo zusammen, ich lese hier schon eine Weile passiv mit, jetzt hab ich aber Mal ein konkretes Problem, dass ich so leider nirgends gefunden habe.
Ich schreibe gerade eine kleine Handheldappliaktion(sprich für .NET Compact Framework), die unter anderem darauf reagieren soll, wenn der HH in den Standby-Modus versetzt bzw. wieder zurückgeholt wird.
Das ich dabei die WindowMessage
WM_POWERBROADCAST empfangen sollte, und dass das im Compact Framework am besten mit der Klasse
WndProcHooker (
http://msdn.microsoft.com/de-de/library/ms229658(VS.80).aspx)
geht, hab ich schon soweit rausgefunden, aber wie ich das ganze jetzt realisieren soll, ist mir noch nicht klar, vor allem wie ich die Messages empfange...
Hat da vielleicht jemand ein Code-Beispiel zum nachvollziehen, oder kann mich da jemand sonst irgendwie auf die richtige Spur bringen?
Oder hat jemand ganz eine andere Lösungsidee?
Ich bin für jeden Lösungsansatz dankbar
Viele Grüße
Markus
Christian S. - Di 27.05.08 21:00
Hallo und :welcome:!
Wenn Du nur eine Message abfangen willst, könnte das hier besser für Dich sein, insbesondere weil es explizit das Compact Framework im Auge hat:
http://msdn.microsoft.com/en-us/library/aa446525.aspx
Grüße
Christian
margul - Di 27.05.08 22:42
Vielen Dank schon mal, das sieht auf jeden Fall etwas weniger umfangreich aus.
Ich muss zugeben, dass ich noch ein ziemlicher Anfänger bin, was C# und Programmieren allgemein betrifft, deswegen muss ich noch etwas weiter fragen:
Ich hab jetzt mal die vorgegebene
MyMessageWindow-Klasse in mein Projekt eingebunden:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| class MyMessageWindow : MessageWindow {
protected override void WndProc(ref Message msg) {
if (msg.Msg == 536) {
if (Convert.ToInt32(msg.WParam)==acht) { MessageBox.Show("hallo");
} }
base.WndProc(ref msg); } } |
Aber verstehe ich das jetzt richtig, dass ich die ganzen anderen in dem Beispiel vorkommen Icon-Klassen nicht brauche?
Und wie empfange ich jetzt in der Praxis meine Messages, muss ich die
MyMessageWindow-Klasse irgendwie instanzieren oder wie funktioniert das genau?
Moderiert von
Christian S.: Highlight- durch C#-Tags ersetzt
Christian S. - Di 27.05.08 23:21
Hm. Irgendwie glaube ich langsam, der Code war doch nicht so gut. :?
In der Doku zur MessageWindow-Klasse steht das hier:
Zitat: |
You can receive only the Windows-based messages that you generate using MessageWindow or those with a native control. |
Und auf den zweiten Blick wird in dem verlinkten Beispiel auch nur auf eine Message reagiert, die man selber erzeugt hat.
Ich bin ratlos :nixweiss:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!