Tastendruck als nicht aktives Programm erkennen
-
- Beiträge: 59
- Registriert: Fr 2. Nov 2012, 19:44
Tastendruck als nicht aktives Programm erkennen
Hallo Community,
Ich möchte ein Programm schreiben, dass auf ein Tastendruck reagiert, obwohl es nicht das aktuell aktive Programm ist.
Ich möchte also z.B. ein Programm schreiben das automatisch eine procedure ausführ wenn ich zum beispiel im Browser bin und auf F1 Drück.
Ist das möglich?
Und ich hab noch 2 kleine Fragen.
1. Kann ich Komponenten in den Vordergrund oder Hintergrund schieben?
2. Kann ich festlegen das mein Programm immer im Vordergrund ist, egal ob ich ein anderes Programm starte (auch im Vollbild-Modus)?
Have a nice day
Ich möchte ein Programm schreiben, dass auf ein Tastendruck reagiert, obwohl es nicht das aktuell aktive Programm ist.
Ich möchte also z.B. ein Programm schreiben das automatisch eine procedure ausführ wenn ich zum beispiel im Browser bin und auf F1 Drück.
Ist das möglich?
Und ich hab noch 2 kleine Fragen.
1. Kann ich Komponenten in den Vordergrund oder Hintergrund schieben?
2. Kann ich festlegen das mein Programm immer im Vordergrund ist, egal ob ich ein anderes Programm starte (auch im Vollbild-Modus)?
Have a nice day
-
- Beiträge: 41
- Registriert: Do 11. Okt 2012, 18:50
- OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Rügen
- Kontaktdaten:
Re: Tastendruck als nicht aktives Programm erkennen
Hi!
-> In der Laufzeit kannst du die Methode zB. Button2.BringToFront nutzen, ... vll gibts da aber auch andere Lösungen.
geht auch zur Laufzeit.
lg. RugiaArt
-> Ja, im Designer-Modus kannst du die Komponenten hin und her schieben in dem du sie mit der rechten Maustaste anklickst und dann die Z-Reihenfolge änderst.Have a nice Day hat geschrieben: 1. Kann ich Komponenten in den Vordergrund oder Hintergrund schieben?
-> In der Laufzeit kannst du die Methode zB. Button2.BringToFront nutzen, ... vll gibts da aber auch andere Lösungen.
-> Ja, im Objektinspektor gibt es eine Eigenschaft der Form Namens: FormStyle. Schau da rein dann sieht du esHave a nice Day hat geschrieben: 2. Kann ich festlegen das mein Programm immer im Vordergrund ist, egal ob ich ein anderes Programm starte (auch im Vollbild-Modus)?

lg. RugiaArt
-
- Beiträge: 59
- Registriert: Fr 2. Nov 2012, 19:44
Re: Tastendruck als nicht aktives Programm erkennen
Vielen Dank für die Antwort...RugiaArt hat geschrieben:Hi!
-> Ja, im Designer-Modus kannst du die Komponenten hin und her schieben in dem du sie mit der rechten Maustaste anklickst und dann die Z-Reihenfolge änderst.Have a nice Day hat geschrieben: 1. Kann ich Komponenten in den Vordergrund oder Hintergrund schieben?
-> In der Laufzeit kannst du die Methode zB. Button2.BringToFront nutzen, ... vll gibts da aber auch andere Lösungen.
-> Ja, im Objektinspektor gibt es eine Eigenschaft der Form Namens: FormStyle. Schau da rein dann sieht du es :) geht auch zur Laufzeit.Have a nice Day hat geschrieben: 2. Kann ich festlegen das mein Programm immer im Vordergrund ist, egal ob ich ein anderes Programm starte (auch im Vollbild-Modus)?
lg. RugiaArt
Jetzt habe ich nur noch die Frage wie es ich mache, dass das Programm auf den Tastendruck reagiert während es nicht aktiv ist.
P.S. Ich hab nun versucht ein Label vor eine Progressbar zu schieben .. aber auch mit Z-Reihenfolge geht das nicht .. hast du da evtl. noch eine Idee? :)
Re: Tastendruck als nicht aktives Programm erkennen
Google mal unter global keyboard hook.Have a nice Day hat geschrieben: Jetzt habe ich nur noch die Frage wie es ich mache, dass das Programm auf den Tastendruck reagiert während es nicht aktiv ist.
-
- Beiträge: 59
- Registriert: Fr 2. Nov 2012, 19:44
Re: Tastendruck als nicht aktives Programm erkennen
Ich habe für FromStyle jetzt: fsSystemStayOnTop ist das richtig? weil bei Vollbild klappt das leider nicht mehr
2. Kann man den Hintergrund der Form auf durchsichtig stellen?
2. Kann man den Hintergrund der Form auf durchsichtig stellen?
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Tastendruck als nicht aktives Programm erkennen
Ja man kann die Form durchsichtig machen,
stelle TForm.AlphaBlend auf true
und TForm.AlphaBlendValue auf den gewünschten Wert( 255 ist undurchsichtig und 0 ist unsichtbar)
viel spaß
Komoluna
stelle TForm.AlphaBlend auf true
und TForm.AlphaBlendValue auf den gewünschten Wert( 255 ist undurchsichtig und 0 ist unsichtbar)
viel spaß
Komoluna
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
-
- Beiträge: 59
- Registriert: Fr 2. Nov 2012, 19:44
Re: Tastendruck als nicht aktives Programm erkennen
Kann man dabei noch einstellen, dass die Komponenten davon nicht beeinflusst werden?Komoluna hat geschrieben:Ja man kann die Form durchsichtig machen,
stelle TForm.AlphaBlend auf true
und TForm.AlphaBlendValue auf den gewünschten Wert( 255 ist undurchsichtig und 0 ist unsichtbar)
viel spaß
Komoluna
-
- Beiträge: 292
- Registriert: Sa 5. Feb 2011, 20:38
- OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
- CPU-Target: 32Bit
- Wohnort: Wien
Re: Tastendruck als nicht aktives Programm erkennen
Hi,
google mal nach RegisterHotkey, UnRegisterHotkey und nach dem Umbiegen der Window Procedure ...
Solltest Du da auf keinen gruenen Zweig kommen, kann ich gerne mal in meinem Code graben.
google mal nach RegisterHotkey, UnRegisterHotkey und nach dem Umbiegen der Window Procedure ...
Solltest Du da auf keinen gruenen Zweig kommen, kann ich gerne mal in meinem Code graben.