2009-03-11 9 views
2

Ich muss in der Lage sein, ein Hintergrund-Hotkey-Ereignis für eine WPF-Anwendung einzurichten. (mit Hintergrund meine ich, dass die fragliche Anwendung nicht unbedingt im Fokus sein muss).Richtiger Weg zum Erstellen eines Hintergrund-Hotkeys mit WPF C#? (vorzugsweise ohne alten Code)

Ich weiß, dass mit WinForms die richtige Methode wäre, user32.dll zu importieren und RegisterHotKey zu verwenden, und die entsprechende WM_POST-Nachricht abzufangen. Ich bin überzeugt, dass es eine bessere Lösung mit WPF geben muss, dann benutze user32.dll, aber ich konnte nichts finden. Irgendwelche Vorschläge? Danke

Antwort

1

Ich glaube nicht, WPF hat keine eingebaute Unterstützung für Hotkeys, zumindest konnte ich keine finden und ich habe RegisterHotKey direkt verwendet.

+0

einverstanden war, scheint wie RegisterHotKeys die einzige Lösung ist. – vicsz

0

Warum verwenden Sie nicht die von WPF bereitgestellte befehlende Infrastruktur? Sie könnten versuchen, einige Befehlsbindungen für Sie Hauptfenster zuweisen und einige der wichtigsten Gesten für sie bieten ...

0

Sie müssen entweder WinForm wie Sie oder Win32 verwenden.

Ich habe eine Lösung in einer Klasse (Win32), die Sie direkt in einer WPF-Lösung verwenden können. Fügen Sie einfach die Klasse in eine separate DLL und alle Aufrufe von win32 sind für Sie transparent (und Sie können weiterhin bearbeiten und weitermachen). Ich hoffe es hilft.

enter link description here

Verwandte Themen