![]() |
Tasten ersetzten
Hallo,
ich wollte ein Programm schreiben, dass die Tastenzeichen ersetzt. D.h. wenn man z.B. auf der tastatur A drückt ä kommt. Leider habe ich momentan keine Idee wie ich das umsetzen kann. Vll kann mir ja jmd. helfen. |
Re: Tasten ersetzten
Global oder nur in deinem Programm?
Stichwort KeyHook |
Re: Tasten ersetzten
global, kannst du näheres dazu sagen?
|
Re: Tasten ersetzten
Ein Keyhook ist ein Programm, welches die Tatstatureingaben überwacht. Man könnte versuchen hier die Codes der gedrückten Tasten zu Ändern.
|
Re: Tasten ersetzten
Man kann sich eine eigene Sprach-DLL generieren (da gibt es ein Tool von Microsoft) und dann selbige benutzen. Es gibt auch einen wenig dokumentierten Weg Eintraege in der Registry vorzunehmen.
|
Re: Tasten ersetzten
hat vll jmd. n' codeschnipsel? :roll:
|
Re: Tasten ersetzten
Du meinst nicht zufällig soetwas ?
Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin if Key='a'then Key:='ä'; end; |
Re: Tasten ersetzten
nein, das wirkt sich ja nur auf das memofeld aus und nicht auf das ganze system...
(na nen amateur bin ich nicht ^^) |
Re: Tasten ersetzten
Zitat:
|
Re: Tasten ersetzten
Er hat im dritten post doch eindeutig gesagt dass er es global haben will.
Zum Problem kann ich leider nix beitragen, hat mich zwar immer mal interessiert aber ich hab mich da nie genauer mit auseinandergesetzt. |
Re: Tasten ersetzten
Bei Delphi-Source.de gibt es ein schönes Hooktutorial.
@Blackheart: Anhand der vorherigen Beiträge war eigentlich klar das die Frage auf globales und Hooks bezogen war. Bitte nächstes mal etwas freundlicher sein und auch die vorhergehenden Beiträge lesen :-D |
Re: Tasten ersetzten
danke für den tipp bei delphi-source zu gucken.
hab auch ein gutes tut gefunden, leider wird bei diesem nur auf das abfangen von nachrichen eingegangen und nur erwähnt dass man diese auch ändern kann, aber nicht erklärt... |
Re: Tasten ersetzten
da kannst ja auch mal suchen wie man Tastendrücke simuliert. Damit kannst du dann erreischen das du per Hook die Tasten abfängst und dann die entsprechende Taste dazu simulierst. Wie man die Tasten abfängt findet sich auch in der Hilfe zu den Hookfunktionen.
|
Re: Tasten ersetzten
tasten senden kenn ich ja, das mit dem abfangen guck ich mir mal an...
|
Re: Tasten ersetzten
Ich pflichte Robert bei:
![]() @agent: Das hat damit zu tun, daß Hooks eben nur zum Benachrichtigen taugen. Daher bin ich im Tut nicht drauf eingegangen. Du kannst gern versuchen die entsprechenden Tastendrücke zu modifizieren. Aber ich vermute mal, daß das von MS nicht so vorgesehen wurde. Besonders bei Geschichten wie "ä" (also Unicode-Zeichen) wäre ich doch ÄUSSERST vorsichtig. |
Re: Tasten ersetzten
Liste der Anhänge anzeigen (Anzahl: 2)
Du könntest einen globalen WH_GETMESSAGE-Hook verwenden.
Dieser bietet die Möglichkeit, eine Message zu verändern, bevor sie dem Fenster weiter geleitet wird. In Anhang findest du ein Beispiel Programm, welches F2 in "A" umwandelt. Der Code kann beliebig angepasst werden. (Code ist ursprünglich aus dem SDC, welcher den Zweck hatte, die Windows Tasten zu deaktivieren) |
Re: Tasten ersetzten
Du könntest auch mit RegisterHotkey einen Hotkey registrieren, und wenn dieser ausgelöst wird, den Druck der anderen taste simulieren.
|
Re: Tasten ersetzten
danke sehr, das project von toms hat mir sehr gut geholfen.
Eing groooooooooooooßes Danke :coder2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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-2025 by Thomas Breitkreuz