社区
资源
帖子详情
急急急,关于给窗口发鼠标键盘消息的问题,高手进来看看!急死人了
sun900
2004-11-22 02:55:09
我可以给窗口发鼠标左键消息,但是发鼠标右键却没有反应,这怎么回事?
如果窗口有焦点就可以发右键消息,请问发右键消息窗口一定要有焦点吗? 那左键不要焦点怎么就可以发消息?
还有可以给窗口发单击键,但是发组合键也是没有反应,组合键的消息好像有5条,我怎么就是发不出去,望高手赐教!
...全文
205
12
打赏
收藏
急急急,关于给窗口发鼠标键盘消息的问题,高手进来看看!急死人了
我可以给窗口发鼠标左键消息,但是发鼠标右键却没有反应,这怎么回事? 如果窗口有焦点就可以发右键消息,请问发右键消息窗口一定要有焦点吗? 那左键不要焦点怎么就可以发消息? 还有可以给窗口发单击键,但是发组合键也是没有反应,组合键的消息好像有5条,我怎么就是发不出去,望高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sun900
2004-12-09
打赏
举报
回复
zhaojian666(zhaojian666)
--------
那为什么输入单字符就可以不用焦点呢? 比如输入字符A
但是组合键ALT + A 就必须要焦点
hejian29
2004-12-07
打赏
举报
回复
GOOD
zhaojian666
2004-12-07
打赏
举报
回复
组合键的消息:
WM_SYSKEYDOWN 按下组合键
WM_SYSKEYUP 松开组合键
当一个按键的组合产生了一个可以显示的字符时就产生了一个字符消息
WM_SYSCHAR 系统字符
WM_SYSDEADCHAR 系统死字符
当在一个窗口建立键盘输入时,是必须提供课可视提示的,应该要用到焦点的
sun900
2004-12-06
打赏
举报
回复
楼上的这个不可以,要用消息模式的,而且窗口还不是有焦点的情况下
qrlvls
2004-11-25
打赏
举报
回复
mouse_event
kbd_event // 记不清是不是这样写的了
sun900
2004-11-25
打赏
举报
回复
PostMessage (IntPtr hWnd,int wMsg,IntPtr wParam,IntPtr lParam);
Windows编程参考--消息!
--------------------------------------------------------------------------------
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; //窗口句柄
message: UINT;//消息常量标识符
wParam: WPARAM ;// 32位消息的特定附加信息
lParam: LPARAM ;// 32位消息的特定附加信息
time: DWORD;//消息创建时的时间
pt: TPoint; //消息创建时的鼠标位置
end ;
消息中有什么?
是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可
视对象的句柄(窗口、对话框、按钮、编辑框等)。message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也
可以是自定义的常量。
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam 通常是一个指向内存中数据的指针。由于WParam、lParam和Pointer都是32位的,因此,它们之间可以相互转换。
WM_MOUSEFIRST = $0200 //
WM_MOUSEMOVE= $0200 //移动鼠标
WM_LBUTTONDOWN= $0201 //按下鼠标左键
WM_LBUTTONUP= $0202 //释放鼠标左键
WM_LBUTTONDBLCLK= $0203 //双击鼠标左键
WM_RBUTTONDOWN= $0204 //按下鼠标右键
WM_RBUTTONUP= $0205 //释放鼠标右键
WM_RBUTTONDBLCLK= $0206 //双击鼠标右键
WM_MBUTTONDOWN= $0207 //按下鼠标中键
WM_MBUTTONUP= $0208 //释放鼠标中键
WM_MBUTTONDBLCLK= $0209 //双击鼠标中键
WM_KEYDOWN= $0100 //按下一个键
WM_KEYUP= $0101 //释放一个键
WM_CHAR = $0102 //按下某键,并已发出WM_KEYDOWN,WM_KEYUP消息
PostMessage (IntPtr hWnd,int wMsg,IntPtr wParam,IntPtr lParam);
------------------------
用上面这个函数
其它都可以,就是鼠标右键需要窗口有焦点才可以,还有组合键不能发送
请高手帮我看下!
harbin1981
2004-11-25
打赏
举报
回复
请问你是怎样发送鼠标动作,麻烦告知,我也在编一个类似的程序
sun900
2004-11-23
打赏
举报
回复
up
sun900
2004-11-22
打赏
举报
回复
那不就完蛋了,我的程序要给多个窗口发右键消息,难道给哪个窗口发右键消息就要先给哪个窗口设置焦点吗? 键盘的组合键也是这样吗? 你能说下组合键的5条消息都是什么吗? 我按照Spy++上的数据发给窗口没有反应
老夏Max
2004-11-22
打赏
举报
回复
呵呵,应该对于右键消息,可能需要在一定的焦点的情况下,才有效!
sun900
2004-11-22
打赏
举报
回复
可以先告诉我发鼠标右键消息窗口一定要有焦点吗?
老夏Max
2004-11-22
打赏
举报
回复
如果可以的话,可以将程序发到:xia_qingqi@broadxent.com.cn
我帮你看看!注明帖子的URL!
基础
各位兄弟,在SDK编程中如果实现
窗口
分割呢?请问怎么得到一个函数的执行时间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?高分请教如何限制程序运行的方法?求助:通过编程DirectX抓屏-----...
我在CSDN参与的3000个帖子
2:100分
急
求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
题解 | #最长上升子序列(一)# c++ &;&; java
题外话:九月秋招不顺,总结写了秋招笑话,
发
本平台没火,
发
小红书上火了,小红书火了被盗运到本平台的也火了,无奈摊手话归正传由于专业
问题
,整个九月投遍了研究所,几乎。不想卷了,虽然只是一个12k的工作,但胜在...
最佳实践:解决 Swagger API 中的未授权访问漏洞
投的前端开
发
,base杭州,10.27上午人工第一面,被疯狂抠细节拷打,答的不太好晚上看了一下状态,从AI面试变成了二轮面试进行中所以,这是人工第一面过了,还是。12人一组,一清一北?坏
消息
,是顺丰的低价,设计岗...
.Net HTML 硬件
在VC.net中如何动态创建ActiveX控件请教斑竹及...关于CFileDialog的多选文件
问题
关于socket的
问题
?100+100=200如何将VC7中的char * 数组转换为c#中的byte[],大家赶快支援!!win2000的用户登录api,LogonUser(...)解析
资源
2,586
社区成员
18,441
社区内容
发帖
与我相关
我的任务
资源
VC/MFC 资源
复制链接
扫一扫
分享
社区描述
VC/MFC 资源
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章