NeoGriever: VB.NET ... (user32 API) PostMessage - Cache leeren?

Beitrag lesen

Mein Problem:

Ich sende mit PostMessage und einer Overrides WndProc ein Kommando an ein separaten Prozess (Projekt-Intern).
Grund: Ich möchte einen separaten Manager haben, welcher unabhängig vom Hauptprogramm weiterlaufen kann, jedoch (one-way) mit diesem noch kommunizieren kann.

Dazu möchte ich vom Hauptfenster eine Nachricht ans Manager-Fenster schicken. Das funktioniert schon einigermaßen. ABER ... Wenn ich 2 Nachrichten sende (unabhängig, wieviel Zeit ich dazwischen lasse), werden bei der 2ten Nachricht die Erste Nachricht DAVOR gepackt, ohne gelöscht zu werden. Das sieht in der Praxis so aus:

  • PostMessage mit Nachricht "ABCDE"
  • WndProc empfängt diese fehlerfrei. (Ergebnis: "ABCDE")
  • PostMessage mit Nachricht "12345"
  • WndProc empfängt diese NICHT fehlerfrei. (Ergebnis: "ABCDE12345")

Wie kann ich das verhindern? Code der Klasse, welche ich dafür nutze, verlinke ich via PasteBin unter diesem Beitrag. Ich habe es geprüft. Die Empfangs-Funktion (WndProc) Empfängt direkt das oben beschriebene Ergebnis.

Ideal wäre ein "Zurücksetzen" der Nachricht, welche ggf. im Speicher hängt. Finde jedoch dazu garnix. Wer kann mir meinen Fehler hier aufzeigen?

Klasse:
http://pastebin.com/3v1sUQw7

Wäre wirklich dankbar, wenn mir da jemand helfen könnte.