怎样用钩子使键盘按a ,变成按b.请指点。。。

liushanyu 2005-11-02 10:33:59
玩游戏的时候,手不够用,想把一些快键,挪个位置。请指教。。。。
...全文
318 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingpiao 2005-11-03
  • 打赏
  • 举报
回复
www.vckbase.com上的个键盘发声例子,改下就行了
liushanyu 2005-11-03
  • 打赏
  • 举报
回复
一天了。还是不会。。。
Snow_Ice11111 2005-11-02
  • 打赏
  • 举报
回复
学习。
kugou123 2005-11-02
  • 打赏
  • 举报
回复
//低级键盘钩子
hKeyboard=SetWindowsHookEx(WH_KEYBOARD_LL,KeyBoardHookProc,hInst,0);

LRESULT WINAPI KeyBoardHookProc(int nCode,WPARAM wParam ,LPARAM lParam)
{

if(nCode==HC_ACTION)
{
if(wParam==WM_KEYDOWN)
{
PKBDLLHOOKSTRUCT pStruct=(PKBDLLHOOKSTRUCT)lParam;
if(pStruct->vkCode=='A')
pStruct->vkCode='B';
}
}

return CallNextHookEx(hKeyboard,nCode,wParam,lParam);
}
Featured 2005-11-02
  • 打赏
  • 举报
回复
你既然知道hook了这个还不简单


如果装了MSDN,请搜索Keyboard hook,找到一篇介绍的

mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN\2001JUL\1033
goodboyws 2005-11-02
  • 打赏
  • 举报
回复
普通的全局键盘钩子就可以做到
http://www.zahui.com/html/1/1708.htm
http://www.ccw.com.cn/htm/app/aprog/01_5_24_5.asp
liushanyu 2005-11-02
  • 打赏
  • 举报
回复
楼上的,不晚啦。。。
liushanyu 2005-11-02
  • 打赏
  • 举报
回复
好久了,我没有搞定。。
我下面的代码的意思是~变Num1,Q变Num2
我在notepad里面测试,还是没有改过来,~是~不是1,Q是Q不是2。

是什么地方需要注意吗?

//键盘钩子函数
LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
//char ch=0;
//FILE *fl;
if( ((DWORD)lParam&0x40000000) && (HC_ACTION==nCode) ) //有键按下
{
//CString strTemp;
//strTemp.Format("%d",wParam);
//AfxMessageBox(strTemp);

if( (wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam>=0x2f ) &&(wParam<=0x100) )
{
Beep(2500, 100);
//ch=MapVirtualKey(wParam,2); //把虚键代码变为字符
//fl=fopen("key.txt","a+"); //输出到文件

//if (wParam==VK_RETURN)
//{
// ch='\n';
//}
//else
//{
if (wParam==192)//~变为Num1
wParam=97;
if (wParam==81)//Q 变为Num2
wParam=98;
//BYTE ks[256];
//GetKeyboardState(ks);
//WORD w;
//UINT scan=0;
//ToAscii(wParam,scan,ks,&w,0);
//ch =char(w);
//}
//fwrite(&ch, sizeof(char), 1, fl);
}
//fclose(fl);
}
return CallNextHookEx( glhHook, nCode, wParam, lParam );
}
rageliu 2005-11-02
  • 打赏
  • 举报
回复
来晚了!!众多高手讲清楚了...
xqk 2005-11-02
  • 打赏
  • 举报
回复
正确答案都没说没了

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧