Ich habe seit Tagen die Vergangenheit gesucht, um herauszufinden, wie und wenn es möglich wäre, Keydown-Ereignisse im Hintergrund zu hören. Zum Beispiel, wenn Sie das Programm "Ventrilo" oder "Teamspeak" verwenden, können Sie mit Ihrem Videospielteam sprechen, während Sie ein Videospiel spielen. Daher hören diese beiden Programme auf den Schlüssel, wenn sie im Hintergrund sind. Meine Frage ist, wie wird das gemacht? Einige Beispiele, Tutorials wären toll! Ich bin auch noch ein bisschen neu, also bitte beschreibend.Xcode Mac-Anwendung: Keydown-Ereignisse im Hintergrund wie Ventrilo
0
A
Antwort
2
Die einzige Möglichkeit, die ich in Kakao kenne, ist die Verwendung eines globalen Ereignismonitors. Wenn Sie die unten stehende Methode aufrufen, wird die App auf eine Kontrolle-alt-/warten und dann eine Warnung ausgeben. Ein mögliches Problem bei diesem Ansatz besteht darin, dass der Block bei jedem Drücken einer Taste ausgeführt wird (aber nicht die Warnung anzeigt). Wenn Sie etwas sehr prozessorintensiv machen, könnte dies die Geschwindigkeit etwas verlangsamen. Ich denke, es gibt einen Weg, dies in Carbon zu tun, der dieses Problem nicht hat, aber ich weiß nicht genug über Carbon, um darüber zu schreiben.
+(void)listenForKey {
[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event)
{
NSUInteger key = 44; // 44 is forward slash
NSUInteger modifier = NSControlKeyMask | NSAlternateKeyMask;
if ([event keyCode] == key && [NSEvent modifierFlags] == modifier)
NSRunCriticalAlertPanel(nil,@"Control-alt/was detected",nil,nil,nil);
}];
}
Verwandte Themen
- 1. Im Hintergrund push notifications im Hintergrund
- 2. Wie arbeiten Delegierte (im Hintergrund)?
- 3. iOS7 Testen Hintergrund holen im Simulator?
- 4. Aktivität im Hintergrund
- 5. Spracherkennung im Hintergrund
- 6. Sammeln Beschleunigungsmessdaten im Hintergrund
- 7. Do im Hintergrund Swift
- 8. Aktivität im Hintergrund anzeigen
- 9. Ausführen von AVAssetExportSession im Hintergrund
- 10. Ort im Hintergrund funktioniert nicht
- 11. Anrufe im Hintergrund tätigen?
- 12. Fixed Element im Hintergrund
- 13. Eval im Hintergrund url
- 14. Lokale Benachrichtigung im Hintergrund
- 15. Erstelle PDF im Hintergrund
- 16. Schrittzähler im Hintergrund
- 17. Thread im Hintergrund C#
- 18. NSThread im Hintergrund IOS
- 19. iPhone VOIP im Hintergrund
- 20. materializecss - Video im Hintergrund
- 21. Gerätebewegungsaktualisierungen im Hintergrund
- 22. ngrok im Hintergrund laufen
- 23. Selen im Hintergrund verwenden
- 24. Im Hintergrund laden
- 25. CALayer im Hintergrund zeichnen
- 26. Timer im Hintergrund
- 27. Android Kamera im Hintergrund
- 28. Laufendes Matlab im Hintergrund
- 29. net_http_client_execution_error im Hintergrund Aufgabe
- 30. Wie man Airplay im Hintergrund in iOS6 unterstützt
Das funktioniert wunderbar! Nur eine Frage: Ist es möglich, das Control-Alt am Anfang nicht zu machen? Wo bekommen Sie auch die Schlüsselnummern? –
nvm alles, was ich tun musste, war die NSevent modifierFlags == Modifier raus! Aber wo hast du Schlüsselzahlen? –
Sie können diese Zeile direkt über der Zeile k = 44 hinzufügen und einige Schlüssel in einem anderen Programm eingeben, und die Schlüsselcodes werden protokolliert: NSLog (@ "% d", event.keyCode); – rdelmar