Einzelnen Beitrag anzeigen

Puhbaehr
(Gast)

n/a Beiträge
 
#2

Re: Tasten abfangen und ersetzen?? T.T

  Alt 20. Nov 2005, 00:27
Hallo!

Das Programm ist dein Programm?

Wenn ja sollte doch ein Ersetzen der Tasten reichen? (OnKeyDown)

Wenn nicht helfen dir evtl. Hier im Forum suchenHooks zum Abfangen der Tasten.

Delphi-Quellcode:
type
  ...
    procedure WMHotKey (var Msg : TWMHotKey); message WM_HOTKEY;
    private
      KeysPressed : string;
      MeineZeichen : TStrings;
      ZeichenErsetzenDruch : TStrings;
  ...
...

// Ins FormCreate für z.B. Taste L:
RegisterHotKey (Form1.Handle, ord ('L'), MOD_CONTROL, ord ('L'));
KeysPressed := '';

MeineZeichen := TStringList.Create;
ZeichenErsetzenDurch := TStringList.Create;
// Hier nun in MeineZeichen alle Zeichenketten rein die ersetzt werden sollen und in
// ZeichenErsetzenDurch das rein durch was die Zeichenkette ersetzt werden soll, z.B.:

MeineZeichen.Add ('L');
ZeichenErsetzenDurch.Add ('lol');

...
procedure TForm1.WMHotKey (var Msg : TWMHotKey);
...
 begin
  KeysPressed := KeysPressed + Msg.HotKey;

  // Schleife... und

  if (pos (KeysPressed, MeineZeichen.Strings[i]) = 1) then
   begin
    if (Length (KeysPressed) = MeineZeichen.Strings[i].Count) then
     begin
      // Taste ersetzen
     end;
   end;
 end;

// Im FormClose:
UnRegisterHotKey (Form1.Handle, ord ('L'));
Das auf die schnelle daher könnte es Fehler enthalten und es geht zudem sicher noch origineller zu Lösen.
Aber das soll auch nur ein Beispiel sein
Für Taste ersetzen könnte Msg.HotKey := NeueTaste(und weitere) funktionieren.

Bis dahin,
Gruß, Robert
  Mit Zitat antworten Zitat