Entwickler-Ecke

Windows API - Taste systemweit drücken/abfangen


ncak - Mi 12.06.02 08:14
Titel: Taste systemweit drücken/abfangen
Hi,
Ich hab ein Problem ich will ein scherzprog machen das tasten wie z.B. 'o' systemweit abfängt und durch einen anderen Buchstaben z.B. 'a' ersetzt
Ich hoffe ihr könnt mir weiter helfen

,Nico


Klabautermann - Mi 12.06.02 09:47

Hallo ncak,

ich hoffe du willst nichts illegalles damit anstellen, aber das wissen ist allgemein zugänglich.
Den ersten teil deines Problems ist über einen Tasatur Hook zu lösen. Habe ich selber noch nicht gemachacht, aber ich habe hier ein Tutorial [http://www.entwickler-ecke.de/viewtopic.php?t=101] in dem das beschrieben wird. Zum zweiten Teil kann ich nichts sagen (ist Lukie noch nicht da?).

Aber vieleicht kommst du ja so weiter.

Gruß
Klabautermann


ncak - Mi 12.06.02 09:51

wird der buchstabe bei hooks nicht trozdem an alle Fenster gesendet?


Klabautermann - Mi 12.06.02 10:14

ncak hat folgendes geschrieben:
wird der buchstabe bei hooks nicht trozdem an alle Fenster gesendet?


Ja, schon. Aber der folgende Absatz aus dem Tutorial deutet drauf hin das das auch zu ändern ist:

Zitat:
An dieser Stelle kann man also bequem mit dem Vorurteil aufräumen, Hooks seien eine komplizierte Materie. (Dies, das werdet Ihr schnell mitbekommen, wird erst der Fall sein, wenn man die erhaltenen Daten modifiziert. Bei Shellhooks hat sich da mancher schon einen Neustart nicht verkneifen können, nachdem das System in etwas instabilem und unnutzbarem Zustand war ...)


Da ich aber keine wirkliche erfahrung mit Hooks habe kann ich dir nichts genaueres sagen.

Gruß
Björn


ncak - Mi 12.06.02 10:33

ich hätte es mir mal durchlesen sollen :D
ob ich das irgendwie jemals hinbekomme? :(

Ich schaffe das!!


ncak - Fr 14.06.02 18:05

ic hab nicht gerade viel ahnung davon geht das den nicht auch mit setkeyboardstate oder ähnlich...?


toms - Sa 15.06.02 17:01

Hi,

Du könntest einen WH_GETMESSAGE Hook installieren und
dann in der GetMsgProc bestimmte Tasten durch andere ersetzen.

Beispiel:
http://www.swissdelphicenter.ch/de/demodownload.php?id=1212


ncak - So 16.06.02 21:12

Meist du im Beispiel das du mit angegeben hast?


d3g - Do 20.06.02 21:10

Hi Leute,

es sollte auch schon reichen, wenn man in der HookProc-Funktion CallNextHookEx nicht aufruft, bzw. für diesen Fall einfach CallNextHookEx für nCode nicht Ord('a') sondern Ord('o') übergibt.

MfG,
d3g


wulfskin - Fr 21.06.02 23:35
Titel: Mousehook
Hallo ncak!

Ich habe mal für's DF einen Mousehook gebastelt. Ein Tastaturhook ist ziemlich ähnlich aufgebaut. Wenn ich es dir schicken soll, dann schrieb mir ne Mail.

Gruß wulfskin!