![]() |
Tastatur Hook - Taste sperren
Moin zusammen,
ich habe da ein ganz dringendes Problem. Meine Tochter sitzt weitweg in den Bergen. Ihre einzigste (günstige) Möglichkeit zu kommunizieren ist über Internet. Jetzt spinnt ihre Tastatur an Ihrem Notebook. Die Pfeiltaste links ist immer gedrückt. Jetzt wollte ich ihr schnell helfen, indem ich ein Tastatur Hook Programm schreibe, das diese Taste tot legt. Habe dazu das Tutorial von Assarbad genommen und hänge jetzt nur noch an der Frage: Was muß ich in der DLL machen, damit die Taste ($25) nicht verarbeitet wird? Wer kann mir schnell helfen. Gruß Frank :hello: |
Re: Tastatur Hook - Taste sperren
Das wird nicht funktionieren. Tastaturen sind meist in einer Matrix verdrahtet.
Daraus ergibt sich, das einige Tastenanschläge abhängig von der Position in der Matrix nicht mehr erkannt werden können. Also ein Hardware Problem! |
Re: Tastatur Hook - Taste sperren
Hallo generic,
is schon klar wie eine Tastatur aufgebaut ist. Wenn jedoch wirklich nur diese eine Taste als gedrückt erkannt wird, sollte ich durch Abschalten dieser Taste zumindest bis der Notebook wieder hier ist meiner Tochter helfen können. |
Re: Tastatur Hook - Taste sperren
Schau dir mal die Beschreibung im MSDN dazu an
![]() Dort solltestest du die nötigen Einstellungen finden die das Weiterleiten der Tasten unterbinden. Ein direktes Beispiel hab ich leider auch nicht. |
Re: Tastatur Hook - Taste sperren
Hallo,
ja Danke für den Hinweis, jedoch steht da auch nicht mehr als bei assarbad. Hat denn keiner eine simple Lösung? |
Re: Tastatur Hook - Taste sperren
Zitat:
Zitat:
dwThreadId Leerlassen um den Hook Global zu setzten und dann CallNextHookEx nicht aufrufen. Denn bei Asserbad wird es aufgerufen. |
Re: Tastatur Hook - Taste sperren
Sorry, das hab ich nicht gesehen.
Jedoch tut das auch nicht. Ich hab jetzt meine HookProc so: function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; begin Result := 0; if wParam <> $25 then Result := CallNextHookEx(HookHandle, nCode, wParam, lParam); case nCode < 0 of TRUE: exit; //wenn code kleiner 0 wird nix gemacht FALSE: if wParam = $25 then begin // messageBox( 0, 'Hallo', 'Hallo', MB_OK); end; end; end; Sofern ich die MessageBox auskommentiere wird diese auch angezeigt, soll heissen das Ding funktioniert prinzipiell. Jedoch wird die Pfeiltaste in Applikationen nicht unterdrückt! |
Re: Tastatur Hook - Taste sperren
Benutzt du WH_KEYBOARD oder WH_KEYBOARD_LL?
Wenn du WH_KEYBOARD benutzt versuch mal den LowLevel Hook. |
Re: Tastatur Hook - Taste sperren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Im Anhang findest du ein DisableLeftKey Tool (getestet unter XP), welches mittels Hook die linke Pfeiltaste deaktiviert (CoolTrayIcon Komponente wird benötigt) |
Re: Tastatur Hook - Taste sperren
Zitat:
Kannst natürlich Glück haben das das unwichtige Tasten sind, wie F-Tasten, pos, home, Bild usw. Du solltest versuchen das Problem mechanisch zu lösen. Geht z.B. Papier unter die Taste zu klemmen oder Taste abziehen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz