Delphi postmessage steuerkeys ignorieren

Hi,

Ich mache folgendes, ich sende mit meiner applikation mit postmessage an eine andere Applikation Zahlen keys. Jetzt ist es so das wenn auf der Tastatur ctrl/Shift oder ^ gedrückt wird das meine events modifiziert und anstelle von 3 natürlich z.b.* ankommt.

kennt jemand ein weg das zu machen?

das hier wurde bereits in den verschiedensten variationen erfolglos versucht:

wparam:= MapIntToKey(strNewSpeed[i]);
 // PostMessage(HWNDControl, WM\_KEYUP , VK\_CONTROL, $20000000); // ctrl up
 // PostMessage(HWNDControl, WM\_KEYUP , VK\_SHIFT, $10000000); // shift up
 ShftGedrueckt := GetKeyState(VK\_SHIFT) and 128 = 128; // Shift Status abfragen
 CtrlGedrueckt := GetKeyState(VK\_CONTROL) and 128 = 128; // Ich glaub die Taste heisst VK\_CTRL
 if ShftGedrueckt then
 keybd\_event (VK\_SHIFT, 0, KEYEVENTF\_KEYUP, 0);
 if CtrlGedrueckt then
 keybd\_event (VK\_CONTROL, 0, KEYEVENTF\_KEYUP, 0);
 PostMessage(HWNDControl, WM\_KEYDOWN, wparam, 0); // Ctrl runter
 PostMessage(HWNDControl, WM\_KEYUP , wparam, $C0000000); // Taste runter
 if ShftGedrueckt then keybd\_event (VK\_CONTROL, 0, 0, 0);
 if CtrlGedrueckt then keybd\_event (VK\_CONTROL, 0, 0, 0);

Genauer
hi,

Ich möchte also von applikation a zu applikation b nachrichten senden. A ist meine Software b ein Freeware tool (Speedfan). Die App b hat editfelder von welchen ich mir die Handles besorge.

Nun schreibe ich in 1 Sek abständen Zahlen werte in die Felder, das geschiet mit hilfe von Postmessage. Druckt der benutzer nun auf der Tastatur Ctrl/Shift/^ dann ertönt ein Piepsen weil der integer wert den ich eigendlich senden möchte keiner mehr ist und die App b nichts damit anfangen kann.

Diese app läuft im hintergrund und eigendlich immer wenn der PC läuft und sollte eigendlich nicht stören.

Wie kann ich folgendes realisieren?

  1. Die Zahlen an App b in die Editfelder senden ohne den fokus oder sonstwas zu ändern. ( das geht mit Postmessage)
  2. Das ctrl/Shift/^ keinen einfluss auf den gesendeten wert nehmen?
  3. Das das verhindern von dem einfluss nicht die eingaben des Benutzers verändern.

die drei Punkte sind wichtig.

Gruss Sev