用RegisterHotKey注册你想截获的键盘输入,相应WM_SYSCOMMAND即可!
解决方案 »
- 【新手求助】有什么办法能解决定时器消息丢失问题。。
- 如何用writefile发送字节数组给串口
- VC6,CHtmlView如何在左边留下边界?像GetRichEditCtrl().SetRect 或GetEditCtrl().SetMargins()
- 获得字符串第一个字符问题
- 获取字符串中符合要求的子串。
- 在滚动视图中如何解决重画问题?
- (急~在线等!)插入记录时报错,IDispatch error #3092,什么意思?
- 帮忙推荐一个源代码整理和编程技巧之类的收集管理软件,谢谢
- 谁有http和ftp代理服务器实现方面的资料
- SetWindowPos应该写在哪里?
- <Inside ATL>问题一个
- 寻找能在内存中将点阵信息压缩成JPG格式流的方法(COM,OCX,class,API)
提供完整的做法!
以CMainFrame为例:
声明成员变量:
int m_nHotKey;
在CMainFrame::OnCreate中:
m_nHotKey = GlobalAddAtom("Hotkey for MyApp!"); //取得唯一的注册键ID;
// 以左边的WINDOWS键为例!
if (!RegisterHotKey(GetSafeHwnd(), m_nHotKey, MOD_WIN, VK_LWIN))
{
DWORD dwError = GetLastError();
//处理失败!
...;
}
在CMainFrame::OnClose中:
UnregisterHotKey(GetSafeHwnd(), m_nHotLWin);在消息映射表中增加:
ON_MESSAGE(WM_HOTKEY, OnMyHotKey)添加成员函数:
afx_msg void OnMyHotKey(WPARAM wParam, LPARAM lParam);void CMainFrame::OnMyHotKey(WPARAM wParam, LPARAM lParam)
{
if(wParam == m_nHotLWin)
AfxMessageBox("You have catch left win key successfully!");
}
mov al, 60h
mov b, al
b中为按下的键的代码,不过不是ASCII,你可以自己看看规律。