VC捕捉键盘组合键,各位帮忙

VC捕捉键盘组合键,各位帮忙,第1张

WN_KEYDOWN下:

switch(wParam)

{

if(wParam==(0x0d&VK_CONTROL))

{} //按下ctrl+Enter

}

在你的窗口中添加相应消息。可以重写PRETRANSLATEMESSAGE函数 这个是一个虚函数。

所有的消息都会经过这个函数的,这也是MFC的消息汞,如果你想在哪个窗体(意思就是那个类)中要获取某个消息的话,你就改写这个函数,截获你需要的消息,对于你不关心的消息调用父类函数送到别处去。

思路完全错了 打开我的电脑有特定的代码 单单是SendMessage PostWindow就太简单了 FindWindow也不可能找到没有打开的我的电脑的句柄 建议你从基础学起 先试试钩子 你的代码看上去就跟扯淡似的 模拟鼠标 键盘消息也有特定的函数 mouse_event()和keybd_event 等 用法你自己找

用SetWindowsHookEx下全局键盘钩子

类型用WH_KEYBOARD_LL

记得钩子处理函数要放在DLL里面,不然不能全局

全局钩子对于在各种程序中的按键几乎都能响应

在vista或win7的用户账户控制(UAC)开启的情况下可能需要管理员身份运行才能实现“全局”

ie等一些多进程软件中的子进程可能处在低完整性级别,这种时候钩子我记得是进不去

另外线程必须要有消息处理循环否则你会发现键盘动不了

调试的时候出现这种情况可以使用鼠标把进程结束。

在含有 KeyEventArgs类型参数的的方法里调用该参数的实例就可以知道是哪些键值

比如一个文本框的键盘按下的事件

private void txt_KeyDown(object sender, KeyEventArgs e)

{

if (KeysEnter == eKeyCode)

{

//keys表示所有键盘按键的集合

}

}

以上就是关于VC捕捉键盘组合键,各位帮忙全部的内容,包括:VC捕捉键盘组合键,各位帮忙、VC 对话框 捕捉键盘按键消息、VC++/MFC 后台模拟按键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9481164.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存