添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

这里先介绍一个窗体的事件 SourceInitialized ,这个时间发生在 WPF 窗体的资源初始化完毕,并且可以通过WindowInteropHelper获得该窗体的句柄用来与Win32交互。

具体可以参考MSDN http://msdn.microsoft.com/en-us/library/system.windows.window. sourceinitialized .aspx

我们通过重载OnSourceInitialized来在 SourceInitialized 事件发生后获取窗体的句柄,并且注册全局快捷键

   private const Int32 MY_HOTKEYID = 0x9999;
    protected override void OnSourceInitialized(EventArgs e)
      base.OnSourceInitialized(e);
       IntPtr handle = new WindowInteropHelper(this).Handle;
       RegisterHotKey(handle, MY_HOTKEYID, 0x0001, 0x72);

关于几个常熟的解释

MY_HOTKEYID 是一个自定义的ID,取值范围在0x0000 到 0xBFFF。之后我们会根据这个值来判断事件的处理。

RegisterHotKey的第三或第四个参数可以参考第一步