wangwen916 发表于 2011-3-4 15:41:03

【已解决】非自己创建的窗口,点右键实现功能的做法

本帖最后由 wangwen916 于 2011-3-4 18:52 编辑

例如:记事本,编辑窗口区域,点鼠标右键,弹出“您点了右键”,其他地方,例如桌面,不弹窗口,怎么做?谢谢

m765555 发表于 2011-3-4 16:34:13

有什么作用呢,说一下具体的,要实现什么功能

wangwen916 发表于 2011-3-4 16:38:41

想把鼠标右键做成局部热键,只在GUI上点击有效,在其他地方点无效。
鼠标右键全局热键我已经做成了,但是不是我所需要的。
谢谢

pusofalse 发表于 2011-3-4 16:57:46

本帖最后由 pusofalse 于 2011-3-4 17:02 编辑

设置鼠标HOOK,截取WM_RBUTTONUP消息,并判断当前活动窗口是否是目标窗口。参考_WinAPI_SetWindowsHookEx帮助示例。
或者修改目标窗口的窗口过程,截取WM_RBUTTONUP或WM_CONTEXTMENU消息。

wangwen916 发表于 2011-3-4 18:38:15

本帖最后由 wangwen916 于 2011-3-4 18:50 编辑


自己写了一个,全局鼠标右键,获取目标窗口的大小,右键发生点击,则读取当前鼠标位置,判断鼠标是否在窗口范围内,在的话就调用切换函数。
实际用起来有时候会比较卡。
我再试试楼上所述方法吧。。。。谢谢!

把UDF也放这,免得去找。
楼上可以写个例子么?对于我来水WIN_API全英语的理解还是有困难.

chenzhi1210 发表于 2011-5-12 12:15:26

这个有用,我看看
页: [1]
查看完整版本: 【已解决】非自己创建的窗口,点右键实现功能的做法