Autor Beitrag
MadDoctor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 88

Win XP Pro
Delphie 2005
BeitragVerfasst: Mi 07.12.05 19:02 
N'abend

Ich möchte einer Taste eine "neue" bzw. andere Funktion zuweisen,
frage ist ob das überhaupt möglich is.

Zum eigentlichen Problem, ich habe ein "Programm" welches im Hintergrund läuft, nun möchte ich dass wenn ich die Taste F1 drücke das Programm sich selbst beendet.

Ich hab mir das so ungefähr vorgestellt:
ausblenden Delphi-Quelltext
1:
 If VK_F1 Press then LLeiste.close;					

Funktioniert logischer weiße aber nicht!

Im Forum stand leider immer nur was von wegen Tastendruck simulieren, aber irgend wie hilft mir das nicht weiter, ich will ja die Taste nicht simulieren sondern das sie etwas macht was sie sonst "nicht" macht

Währe super wenn mir jemand helfen könnte...
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 07.12.05 19:25 
Such mal nach Suche in der Entwickler-Ecke HOOK

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
MadDoctor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 88

Win XP Pro
Delphie 2005
BeitragVerfasst: Mi 07.12.05 20:07 
Ich hätte evtl noch sagen sollen das diese Sektion von Delphie für mich neuland is ...

Also ich hab was gefunden von wegen:
- HotKey
- OnKeyDown
- Hook

... und hab damit nen wenig rumgebastelt ...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TLLeiste.WMHotKey(Var Msg: TWMHotkey);       //Hier Kennt er WMHotKey nicht ([Fehler] LaufLeiste.pas(53): E2003 Undefinierter Bezeichner: 'WMHotKey')
begin
  if Msg.IdHotKey = id then showmessage('MEIN TEXT');
  inherited;
end;

procedure TLLeiste.FormCreate(Sender: TObject);  // Die/Das Form heißt wirklich LLeiste also nich das ich da was falsch geschrieben habe !
begin
RegisterHotKey(LLeiste.Handle, ID, MOD_Control, vk_space);
end;




Bei den anderen beiden obrigen möglichkeiten sind änliche fehler ... mach ich grundlegend etwas falsch ?

=========================================

Mh... ich hab die Lösung für mein Problem gefunden !
Und ich musste noch nicht einmal groß was programmieren wie das z.B. mit nem Hook oder so gewessen währe.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TLLeiste.Timer2Timer(Sender: TObject);
begin
  if boolean(getasynckeystate(vk_f5))
  then LLeiste.close;
end;