问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

想用c语言写一个全局键盘钩子的程序,成功后送100分!

发布网友 发布时间:2022-04-22 14:20

我来回答

1个回答

热心网友 时间:2023-09-07 01:33

全局键盘钩子是需要放到dll中去实现的

我估计你还不会写什么是dll

但有好消息告诉你

日志钩子可以做到在一个程序中实现全局键盘捕获:

VC代码:
#include<windows.h>

HHOOK LogHook=NULL;
LRESULT CALLBACK LogProc(int code,WPARAM wParam,LPARAM lParam)
{
EVENTMSG *pEventMsg=(EVENTMSG*)lParam;

if(code==HC_ACTION)
{
switch(pEventMsg->message)
{
case (WM_KEYDOWN):
BYTE bKeyState[256];
unsigned short uAscii[4];
UINT uScanCode;
int iRet;
GetKeyboardState(bKeyState);
bKeyState[VK_SHIFT]=GetKeyState(VK_SHIFT);
uScanCode=(pEventMsg->paramH>>16);
iRet=ToAscii(pEventMsg->paramL,uScanCode,bKeyState,uAscii,0);
switch(iRet)
{
case 0:
break;
case 1:

if((char)uAscii[0]=='t' || (char)uAscii[0]=='T')//t键按下
{
MessageBox(NULL,"按下了T","按键提示",MB_OK);
/**************自己实现播放音乐的功能*****************/
}
else if((char)uAscii[0]=='y' || (char)uAscii[0]=='Y')//Y键按下
{

MessageBox(NULL,"按下了Y","按键提示",MB_OK);
/***************自己在这里实现停止播放音乐的功能****************/

}
break;
default:
break;
}
default:
break;
}
}
return CallNextHookEx(LogHook,code,wParam,lParam);
}
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
LogHook=SetWindowsHookEx(WH_JOURNALRECORD,LogProc,hInstance,NULL);
while(1)Sleep(100);
return 0;
}

日志钩子工作不稳定的。追问有一个错误啊...
Compiling...
Error spawning cl.exe

追答win32工程

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
神九返回后轨道舱分离去哪里了,是在轨道继续运行,还是不管了。天宫一... 空间站通常由对接舱、气闸舱、轨道舱、生活舱、服务舱、专用设备... 为什么不让神舟七号的轨道舱留在天上让神州八号去追? 洗衣机生产厂家 狗鱼好吃吗? 洪霞的爷爷知识很丰富,你能用哪些成语来形容他 用什么成语可以形容包罗各种各样的想法 什么万千的成语有哪些 重庆哪些考研大学 重庆师范大学考研好不好考 101胶水的关于命名 C#全局键盘钩子问题 302和502这类胶水命名的依据是什么 给胶水取名 502名字来历 502胶 为何如此命名? 海康一个报警主机可以舍两个全局键盘吗 为什么把502胶命名为“502”? 502 胶水和 101 胶水是如何命名的,他们的区别在哪里? 胶水命名的问题!怎么定义的,比如502 503 502为什么叫502 胶水为啥用数字叫502,不叫520? 地道家常菜清蒸鱼,怎样做才能好看又好吃? 在家做清蒸鱼时,怎样才能做出餐厅的味道? 说一说在家做清蒸鱼时,都有哪些技巧? 清蒸鱼怎么做大火还是小火蒸呀,蒸多长时 清蒸鱼一般用大火煮10分钟还是小火 按键怎么使用 制作清蒸鲈鱼时,应该用大火吗? 清蒸鱼怎么做大火还是小火蒸呀,蒸多长时间 502胶水的命名? 胶水种类有哪些胶水种类介绍 请教,全局键盘钩子 如何获取其他进程的 键盘输入 成结标记是什么意思? 胶水为什么叫502 想用VC++做个全局键盘改键,键盘钩子代码,详细怎么做。跪求代码。 abo设定中有几种标记法? 502胶水的502有什么含义为什么这么叫 Delphi 全局键盘钩子的功能问题 writeas标记成结是什么? 做胶水的,微信名应该取名叫什么好? VB全局键盘钩子代码 ABO里成结是什么意思?是标记吗?需要什么条件? 502胶水和101胶水有什么区别 全局键盘钩子 生殖腔和成结是什么? 易语言全局按键(非注册热键,或者监视热键) alpha怎么标记omega? 404 Not Found 如果omega怀孕了,是不是代表已经被标记了,求解求解