9
我必须使用热键,它将在每个窗口和讲台上工作。在的WinForms我用:WPF中的全局热键从每个窗口工作
RegisterHotKey(this.Handle, 9000, 0x0002, (int)Keys.F10);
和
UnregisterHotKey(this.Handle, 9000);
和
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
switch (m.Msg)
{
case 0x312:
switch (m.WParam.ToInt32())
{
case 9000:
//function to do
break;
}
break;
}
}
在我的WPF aplication我试着这样做:
AddHandler(Keyboard.KeyDownEvent, (KeyEventHandler)HandleKeyDownEvent);
和
private void HandleKeyDownEvent(object sender, KeyEventArgs e)
{
if (e.Key == Key.F11 && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
//function to do
}
}
但是,它只在我的应用程序处于活动状态并位于顶部时才起作用,但在应用程序最小化时(例如)它不起作用。有没有办法做到这一点?
它的工作,谢谢了很多 – cadi2108 2012-07-08 09:15:40