社区
C++ Builder
帖子详情
送分:SendMessage为什么不能传送"Alt"按键消息?
godtorch
2003-12-12 10:23:22
我用SendMessage(hd,WM_KEYDOWN,18,0)跟PostMessage都试过,当传送其他按键(比如a,b,c...)都没问题单单这个键没反应,请教高手该怎么写?谢谢!
...全文
230
14
打赏
收藏
送分:SendMessage为什么不能传送"Alt"按键消息?
我用SendMessage(hd,WM_KEYDOWN,18,0)跟PostMessage都试过,当传送其他按键(比如a,b,c...)都没问题单单这个键没反应,请教高手该怎么写?谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjy1001
2003-12-12
打赏
举报
回复
如果是‘激活’热键
那么应该 发送 WM_HOTKEY消息 然后消息里 可以携带 热键的组合键码,单独发送alt,窗体接受到也只是能激活菜单而已
jbz
2003-12-12
打赏
举报
回复
还是不好使.
godtorch
2003-12-12
打赏
举报
回复
谢谢,上面的程序确实可以打开一个窗口的菜单了,但是对哦真正要控制的窗口还是无效!!!那个窗口设置了大量的快捷键“Alt+1"等等。
ccrun.com
2003-12-12
打赏
举报
回复
我猜你也是要发送菜单。
SendMessage(hWin , WM_SYSCHAR, VK_MENU, 0);
SendMessage(hWin , WM_SYSCHAR, 'f', 0);
// 发送alt + f
godtorch
2003-12-12
打赏
举报
回复
晕了,还是不行。我用楼上两位的方法向一个有菜单的窗口送消息本来如果有效的话菜单应该会被按下,(已经先把窗口设为最前面)。 我实际需要的功能是向一个窗口送一个“Alt+1”,“Alt+2”...的消息。我下了个按键精灵却可以做得出来!!
yangguo_god
2003-12-12
打赏
举报
回复
SendMessage(hWin, WM_HOTKEY, IDHOT_SNAPWINDOW, MOD_ALT);
godtorch
2003-12-12
打赏
举报
回复
呵呵,还是不行!
ccrun.com
2003-12-12
打赏
举报
回复
那就试试这个:
SendMessage(hWin , WM_SYSCHAR, VK_MENU, 0);
godtorch
2003-12-12
打赏
举报
回复
谢谢 ccrun(老妖),不过我不想用这个。因为用键盘模拟的话要把被控制的窗口一直放在顶层,很不方便.
ccrun.com
2003-12-12
打赏
举报
回复
不过在调用上述代码以前,最好先将目标窗口调到最前面来
::BringWindowToTop(hWin);
或者:
SetForegroundWindow(hWin);
ccrun.com
2003-12-12
打赏
举报
回复
用keybd_event
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
godtorch
2003-12-12
打赏
举报
回复
在线等待...
godtorch
2003-12-12
打赏
举报
回复
再等待...
godtorch
2003-12-12
打赏
举报
回复
请问 yjy1001(蓝鲸--优秀得郁闷的鱼) ,如何设置“热键的组合键码”?比如"Alt+1",应该怎么写呢?谢谢。
Windows
消息
机制深度解析:PostMessage与
SendMessage
模拟输入的实战指南
在Windows编程中,
消息
机制是应用程序与系统交互的核心基础。其原理基于事件驱动模型,系统将用户操作(如
按键
、鼠标点击)封装成特定
消息
,通过
消息
队列传递给目标窗口的
消息
处理函数。这一机制的技术价值在于实现了程序间的通信与用户输入的标准化处理。在自动化测试、游戏辅助、效率工具等应用场景中,开发者常需模拟键盘鼠标操作以实现自动化。然而,直接使用PostMessage或
SendMessage
API进行模拟输入时,常会遇到
消息
发送失败、重复
按键
等问题,这源于对Windows
消息
机制理解不足及句柄获取、
消息
构造等
[SDK]-键盘
消息
和鼠标
消息
讲解了键盘
消息
的原理,GetKeyState()函数 组合利用,
SendMessage
()函数,FindWindow()函数的使用方法,下一节讲解鼠标
消息
。
Python 寄存器位域解析与 JSON 配置工具(芯片开发+寄存器/位域+解析源码+寄存器转储分析)
根据 JSON 指定位宽和字段起止位,解析寄存器数值并显示枚举含义。包含重叠字段、重复名称、位范围和输入数值检查。 适用于嵌入式软件开发人员、驱动开发入门者及相关技术学习者。资源包含源码或模板、使用说明及验证范围说明。Python 3.10+,仅使用标准库;寄存器宽度 1 至 64 位。 功能边界见 README.md,实际验证情况见 TESTING.md。
MATLAB实现的两级OPF与电动车充电调度,用于配电网络.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章