Sti*_*sis 5 c++ winapi mfc acceleratorkey
我们有一个非常大的内部MFC应用程序。它具有一个带菜单栏的主窗口,以及数百个唯一的子窗口(无菜单栏),这些子窗口显示在主窗口的顶部(并非同时显示)。这些子窗口实现为,CDialog但CreateWindow无法运行(通过,不是DoModal)。他们的父母HWND定为NULL。
我们最近收到了一项功能请求-即使子窗口之一是活动窗口,也可以从主窗口中使用特定的菜单栏加速器。从用户的角度来看,这是有道理的。
可以通过应用程序范围的键盘挂钩很容易地伪造它,并注意确切的击键,但是我想知道是否有更干净的方法?
您也可以RegisterHotKey()在主窗口中使用。这将产生一个副作用,即即使在不同的应用程序中按下新的热键也会触发。GetCurrentProcessId()您可以通过比较来解决这个问题GetWindowThreadProcessId(GetForegroundWindow())
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |