Key abfangen, auch wenn Fenster keinen Fokus hat
Key abfangen, auch wenn Fenster keinen Fokus hat
Hallo,
mein Problem steht ja schon oben. Wie kann ich gedrückte tasten abfragen, auch wenn mein Programm gerade nicht den Fokus hat?
mein Problem steht ja schon oben. Wie kann ich gedrückte tasten abfragen, auch wenn mein Programm gerade nicht den Fokus hat?
Spätestens wenn du nen gescheites Virenprogramm laufen hasst, wird das hoffentlich sowas behaupten Also zumindest wenn du mit SetWindowsHookEx arbeitest.Wer hat denn was von Keylogger gesagt?
ALso generell geht sowas, ist halt nur kein Standardverhalten für Apps. Also wirst sowas kaum in der Qt finden.
Ciao ...
So habs jetzt mal Versucht umzusetzen. Allerdings bekomme ich es nicht hin.
Zum einen funktioniert der HotKey trotzdem nur, wenn das Programm den Fokus hat oder es kommt dann einfach keine Event an. Und zum anderen bekomme ich keine WM_HOTKEY Message, wenn meine definierte Taste gedrückt wurde.
Mein Code sieht gekürzt so aus:
Hab auch schon versucht, das Ganze über den QApplication::winEventFilter zu implementieren. Hatte dort jedoch das selbe Resultat.
Ich weiß jetzt auch nicht, ob das Problem bei der Windows API oder bei Qt zu suchen ist...
Zum einen funktioniert der HotKey trotzdem nur, wenn das Programm den Fokus hat oder es kommt dann einfach keine Event an. Und zum anderen bekomme ich keine WM_HOTKEY Message, wenn meine definierte Taste gedrückt wurde.
Mein Code sieht gekürzt so aus:
Code: Alles auswählen
#include <windows.h>
MultiShot::MultiShot() {
[...]
RegisterHotKey(winId(), 1, 0, VK_PRINT);
[...]
}
bool MultiShot::winEvent(MSG *message, long *result) {
qDebug() << "Win Event";
*result = 0;
if(message->message == WM_HOTKEY) {
qDebug() << "Hotkey";
if(message->wParam == 1) {
qDebug() << "Print";
makeScreenShot();
}
return true;
}
return false;
}
Ich weiß jetzt auch nicht, ob das Problem bei der Windows API oder bei Qt zu suchen ist...
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
http://libqxt.bitbucket.org/doc/0.6/qxt ... rtcut.html sollte helfen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Wie installiert man qxt unter windows?
In der Readme steht ganz normal mit configure.bat && make && make install. Das Kompilieren scheint zu funktionieren, aber das make install installiert qxt nicht.
Edit: Hat sich erledigt, gab anscheinend irgendwelche Konflikte mit der make Version von WinAVR.
Edit: Danke. Der globale Shortcut funktioniert jetzt. Problem ist jetzt nur noch, dass es nicht über die Print Taste funktioniert. Entsprechender Key wurde mit "Qt::Key_Print" angegeben...
In der Readme steht ganz normal mit configure.bat && make && make install. Das Kompilieren scheint zu funktionieren, aber das make install installiert qxt nicht.
Edit: Hat sich erledigt, gab anscheinend irgendwelche Konflikte mit der make Version von WinAVR.
Edit: Danke. Der globale Shortcut funktioniert jetzt. Problem ist jetzt nur noch, dass es nicht über die Print Taste funktioniert. Entsprechender Key wurde mit "Qt::Key_Print" angegeben...