该窗口位于桌面之上,在该窗口的红色区域内单击鼠标右键弹出桌面右键菜单(消息让桌面处理)。
说说我做过的尝试:
1.拦截WM_NCHITTEST,若位置在红色区域内就返回HTTRANSPARENT!结果:枪毙!,该方式仅限同线程中。
2.拦截所有的鼠标消息,若位置在红色区域内,则通过GetWindow函数来查找z排序中下一个在显示的且鼠标在其范围内的窗口,然后处理下坐标,SeedMessage到该窗口去。结果:通过spy++监视,消息的确是投递到该窗口,也处理返回成功,但就看不到响应结果(如:单击右键,则弹出右键菜单)。
9 个解决方案
#1
up~~~~
#2
#3
或许可以弄成异形窗体,扣掉中间那个矩形,然后在直接用gdi之类的把那块要显示的内容画在后面的窗口上
#4
不是SeedMessage
是mouse event
是mouse event
#5
mouse event?没有懂起喃?求详解。
#6
只能模拟鼠标消息,达不到楼主要的传递给桌面窗口处理右键消息的目的吧
#7
桌面自己有自己的处事方式,比如要看看自己是否能够被看见并且拥有焦点,如果最下面的那一层是lz自己编的还好办.
可以先用SendInput()模拟试一下不挡住是否成功.
可以先用SendInput()模拟试一下不挡住是否成功.
#8
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
#9
啥叫穿透。。。如果是想让父窗口处理的话,MFC的框架已经搭好了,在PreTranslateMessage里面处理就行了。
#1
up~~~~
#2
#3
或许可以弄成异形窗体,扣掉中间那个矩形,然后在直接用gdi之类的把那块要显示的内容画在后面的窗口上
#4
不是SeedMessage
是mouse event
是mouse event
#5
mouse event?没有懂起喃?求详解。
#6
只能模拟鼠标消息,达不到楼主要的传递给桌面窗口处理右键消息的目的吧
#7
桌面自己有自己的处事方式,比如要看看自己是否能够被看见并且拥有焦点,如果最下面的那一层是lz自己编的还好办.
可以先用SendInput()模拟试一下不挡住是否成功.
可以先用SendInput()模拟试一下不挡住是否成功.
#8
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
#9
啥叫穿透。。。如果是想让父窗口处理的话,MFC的框架已经搭好了,在PreTranslateMessage里面处理就行了。