RegisterHotKey deaktiviert FireFox Hotkeys

14/04/2010 - 07:39 von StefanXX | Report spam
Hallo Zusammen.

Ich habe eine Fremde Anwendung für die ich ein neues Hotkey haben möchte.

=> Ich hab ein kleines Programm. Was ein Globales Hotkey registriert.

Deklaration:
[DllImport("user32.dll")]
public static extern bool RegisterHotKey(IntPtr hWnd,
int id, int fsModifiers, int vlc);

Registrieren des Hotkeys:
DevBox.RegisterHotKey(this.Handle,
this.GetType().GetHashCode()+1, 2, (int)'T');


In meiner WndProc reagiere ich dann auf das Hotkey. Ich reagiere aber nur
wenn ich mit GetForeGroundWindow das Fenster meiner "Fremden" Anwendung
kriege.

Das ganze funktioniert auch ganz gut.

Jedoch ist mir aufgefallen dass FireFox Strg+T als Hotkey benutzen würde.
Sobald jedoch mein RegisterHotkey làuft, reagiert Firefox auch nicht mehr auf
Strg+T => Wie wenn mein RegisterHotkey das von Firefox ausserkraft setzen
würde


Habt ihr dazu eine Lösung für mich? In meinem Fall wàrs ja okay wenn beide
Anwendungen auf Strg+T reagieren. weil beide Hotkeys nur dann wirklich
handeln wenn man in einer bestimmten Anwendung ist

Viele Grüße
Stefan
 

Lesen sie die antworten

#1 Harald M. Genauck
14/04/2010 - 19:28 | Warnen spam
Hallo Stefan,

...
Habt ihr dazu eine Lösung für mich? In meinem Fall wàrs ja okay wenn
beide
Anwendungen auf Strg+T reagieren. weil beide Hotkeys nur dann
wirklich
handeln wenn man in einer bestimmten Anwendung ist



Da die systemweit registrierten Hotkeys prinzipiell Vorrang vor
anwendungsinternen Hotkeys haben, wirst Du da eigentlich nichts machen
können.

Du solltest daher dem Anwender Deiner Anwendung die Möglichkeit
bieten, einen solchen systemweiten Hotkey beliebig konfigurieren zu
können, damit er Konflikte mit anderen Anwendungen (nicht nur Firefox
hat internen Strg+T belegt) selber nach Wunsch vermeiden kann.


Viele Grüße

Harald M. Genauck

"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)
"ABOUT Visual Basic" - http://www.aboutvb.de (Hrsg. + Redaktion)

Ähnliche fragen