15,979
社区成员
发帖
与我相关
我的任务
分享
LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam)
{
if ( code == HC_ACTION && lParam & 0x40000000)
{
CString hotkey=_T("");
char press;
if (GetKeyState(VK_CONTROL)&0x8000 && wParam>=48 && wParam<=57 )
{
press=wParam;
hotkey.Format(_T("Ctrl+%c"),press);
DoFunction(hotkey);
}
else if (GetKeyState(VK_CONTROL)&0x8000 && wParam>=VK_NUMPAD0 && wParam<=VK_NUMPAD9 )
{
int n= wParam-VK_NUMPAD0;
press=48+n;
hotkey.Format(_T("Ctrl+%c"),press);
DoFunction(hotkey);
}
else if (GetKeyState(VK_MENU)&0x8000 && wParam>=48 && wParam<=57)
{
press=wParam;
hotkey.Format(_T("Alt+%c"),press);
DoFunction(hotkey);
}
else if (GetKeyState(VK_MENU)&0x8000 && wParam>=VK_NUMPAD0 && wParam<=VK_NUMPAD9 )
{
int n= wParam-VK_NUMPAD0;
press=48+n;
hotkey.Format(_T("Alt+%c"),press);
DoFunction(hotkey);
}
}
return CallNextHookEx(hook,code,wParam,lParam);
}
LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam, LPARAM lParam)
{
if(code <0)
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
UINT nChar=wParam;
switch (nChar)
{
case 'B':
{
if ( HIWORD(lParam) & KF_ALTDOWN )
{
trace("alt+B");
}
}
break;
}
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}