Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

Ich will ein Programm schreiben, welches einen Hook für ein anderes Programm insatlliert. Dieser Hook soll sämtliche WM_CHAR Nachrichten abfangen und sie einem globalen char Array, der mir einer index Variable durchalufen wird, gleichsetzen. Wenn ich also danach einige beliebige Tasten drücke, sollte der char Array ausgegeben werden und nicht die Zeichen der gedrückten Tasten. Das ganze funktioniert ganz gut, doch manchamal werden einzelne Zeichen des char Array nicht ausgegeben. Wenn im Array z.B der String "Hallo Forum!" abgelegt ist und ich danach einige Tasten drücke erscheint z.B "Hall Forum!" im Edit-Feld. Wiso ist dies so? Ich ziemlich ratlos. Hier noch die Hook-Funktion.

MSG *Nachricht; 


if(nCode<0) 

CallNextHookEx(hook,nCode,wParam,lParam); 



switch(nCode) 

{ 

case HC_ACTION: 

Nachricht=(MSG*) lParam; 

if(Nachricht->message==WM_CHAR) 

{ 


/*Der Char Array Schrebivorlage und der integer zaehler sind gloabal deklariert*/ 

Nachricht->wParam=Schreibvorlage[zaehler]); 


lParam=(LPARAM)Nachricht; 

zaehler++; 

return CallNextHookEx(hook,nCode,wParam,lParam); 

} 

default: 

break; 

} 

return 0; 

}

Im Voraus besten Dank für sämtliche Antworten.

Geschrieben

Wie ich schon hier geschrieben habe, sollst du, wenn du CallNextHookEx aufrufst, den Rückgabewert dieses Aufrufs zurückgeben. Außerdem sollst du nur dann 0 zurückgeben, wenn du einen guten Grund dafür hast, dass andere Hooks diese Nachricht nicht sehen sollen.

Die Zuweisung an lParam ist überflüssig.

Darüber hinaus wirst du wohl den Debugger bemühen müssen. Möglicherweise kann man aus den Werten in Nachricht->lParam etwas folgern.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...