LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam,LPARAM lParam)
{
HWND hstance;
hstance=GetActiveWindow();
if( code == HC_ACTION )
{
switch (wParam)
{
case 'Y':
wParam = 90;
//我想按键Y ,在记事本或者其他应用程序接受的事
//Z键,我用SendMessage 和 CallNextHookEx 都不能实现,还请各位指明
//谢 谢!!!
/SendMessage(0,WM_KEYDOWN,wParam,lParam);
//SendMessage(0,WM_KEYUP,wParam,lParam);
// return 1; return CallNextHookEx(hHook,code,wParam,lParam);
return 1;
break;
}
}
return CallNextHookEx(hHook,code,wParam,lParam);
}
{
HWND hstance;
hstance=GetActiveWindow();
if( code == HC_ACTION )
{
switch (wParam)
{
case 'Y':
wParam = 90;
//我想按键Y ,在记事本或者其他应用程序接受的事
//Z键,我用SendMessage 和 CallNextHookEx 都不能实现,还请各位指明
//谢 谢!!!
/SendMessage(0,WM_KEYDOWN,wParam,lParam);
//SendMessage(0,WM_KEYUP,wParam,lParam);
// return 1; return CallNextHookEx(hHook,code,wParam,lParam);
return 1;
break;
}
}
return CallNextHookEx(hHook,code,wParam,lParam);
}
{
case 0x59:
wParam=0x5a;
....
break;
}
{
HWND hstance;
hstance=GetActiveWindow();
if( code == HC_ACTION )
{
switch (wParam)
{
case 0x59:
wParam=0x5a;
break;
}
}
return CallNextHookEx(hHook,code,wParam,lParam);}To zhuwenzheng(卧薪尝胆)
是这么改吗?我是过来,按'y'出来的还是'y'
我想实现想按键精灵一样的效果,谢谢!!
你可以在WH_GETMESSAGE中截获WM_KEYDOWN或WM_CHAR消息,然后改变
你是指在KeyboardProc(int code, WPARAM wParam,LPARAM lParam)
用keyboard_event() ,我也曾试过,不过没有能够成功
我试过 microsoftwin(流星雨点) 的方法,改用WH_GETMESSAGE
钩子,确实可以进行修改键值,不知道有WH_KEYBOARD钩子有没有实现的方法
我即使在WH_KEYBOARD钩子不修改wParam的值,我用发送消息模拟不行吗?不知道是什么
原因系统没有反应SendMessage(0,WM_KEYDOWN,wParam,lParam);
SendMessage(0,WM_KEYUP,wParam,lParam);