Z
Sooo ich nochmal:
Wenn ich nur WH_KEYBOARD benutzte, funktioniert lokal alles einwandfrei, ich will mich aber in ein anderes programm hooken, das heisst WH_KEYBOARD_LL, das funktioniert nicht nur seeehhhr träge, sondern schmeisst mir immer egal welche taste die werte 256 und 257 raus, ich nehme mal an das das sooo nicht gedacht war,...
daher habe ich zwei fragen:
a) woran kann das liegen und wie kann ich das problem beheben
b) wie kann ich die dll nur auf spezielles programm anwenden und in meinen anderen programm die messages abfangen.
Freue mich auf eure antworten, werde mich in der zwischenzeit belesen,.. gruuuß
-------------------------------------------------------------------------------
Edit:
Ok das Problem habe ich nun gelöst.
Nun habe ich mit WH_CALLWNDPROC versucht die Messages für einen bestimmten Thread zu bekommen.
Ich bekomme die Message das der Hook instaliert wurde, und ich bekomme ein bzw. zweimal eine nachricht das MsgProc aufgerufen wurde. Wenn ich das Window des Thread aber mit dem Mauszeiger berühre (eine andere Application ist vorher als actives fenster gekennzeichnet), was ja eine Message auslöst, bekomme ich eine Exception,
Funktion der Adresse 0x7a4...... verweist auf den Speicher 0xffffffff (oder auch 0x000000..). "read" konnte nicht durchgeführt werden.
Leider will mein debugger nicht, daher weiß ich nicht ganz wie ich herausbekomme ob das ein verweis aus der dll oder aus meinen hauptprogramm ist das diesen Fehler verursacht.
Prinzipiell müsste ich die Adressen aller funktionen mit deren funktionszeiger auflisten, leider weiß ich net wie ich die adressen ohne einen 30zeiler als Hex im string darstellen kann. Wisst Ihr da vlt. Weiter?
( GetProcAddr(hMyDll,irgendeineFkt") gibt mir leider die vals:00 raus)
Grüüüße und *push*