如何获得象ctrl+c之类的扫描码 我在PreTranslateMessage函数中能够得到单个按键的扫描码,但是如何得到这些组合键了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用hook中的键盘hook:先在程序初始化时设一个hookSetWindowsHookEx(WH_KEYBOARD_LL, // hootype HOOKPROC LowLevelKeyboardProc, // hook procedure回调函数 HINSTANCE hMod, // handle to application instance DWORD dwThreadId ) // thread identifier在回调函数中CALLBACK LowLevelKeyboardProc( int nCode, // hook code WPARAM wParam, // message identifier LPARAM lParam // message data){ if(nCode == HC_ACTION) { ... lParam->scanCode;大概就是这个样子。lparam指向的tagKBDLLHOOKSTRUCT 可以在msdn中查到 ... } CallNextHookEx(....); 在你的资源中增加Accelerator:IDR_MYHOTKEY,里面加入ctrl-c热键。在程序初始化的地方:m_hHotKey =LoadAccelerators( AfxGetInstanceHandle(), IDR_MYHOTKEY); 在PreTranslateMessage中:if(m_hHotKey != NULL){ if(!TranslateAccelerator(m_hWnd,m_hHotKey,pMsg)) return CDialog::PreTranslateMessage(pMsg); else return TRUE;}在OnCommand中响应ctrl-cif( LOWORD(wParam) == IDC_CTRLC )... 分隔条置为不可用//是什么函数? 在线等。如何在richedit里插入editcontrol,高手提点下啊 Cdialogbar里面添加Clistbox控件,Clistbox控件如何显示位图啊?请帮忙,谢谢! 散分100,送给2010年一位幸运者. 问个关于C/S模式的问题 董事长和总经理决裂,散分~~~~~ 如何启动一个应用程序并且传进去一个变量? 计算精度不够怎么办? CToolTipCtrl在托盘图标的应用 不用自带的tip? 怎么转换bmp 简单的字符转换 在listbox中显示乱码是为什么?
先在程序初始化时设一个hook
SetWindowsHookEx(WH_KEYBOARD_LL, // hootype
HOOKPROC LowLevelKeyboardProc, // hook procedure回调函数
HINSTANCE hMod, // handle to application instance
DWORD dwThreadId ) // thread identifier
在回调函数中
CALLBACK LowLevelKeyboardProc(
int nCode, // hook code
WPARAM wParam, // message identifier
LPARAM lParam // message data)
{
if(nCode == HC_ACTION)
{
...
lParam->scanCode;大概就是这个样子。lparam指向的tagKBDLLHOOKSTRUCT 可以在msdn中查到
...
}
CallNextHookEx(....);
在程序初始化的地方:
m_hHotKey =LoadAccelerators( AfxGetInstanceHandle(), IDR_MYHOTKEY);
在PreTranslateMessage中:
if(m_hHotKey != NULL)
{
if(!TranslateAccelerator(m_hWnd,m_hHotKey,pMsg))
return CDialog::PreTranslateMessage(pMsg);
else
return TRUE;
}在OnCommand中响应ctrl-c
if( LOWORD(wParam) == IDC_CTRLC )
...