怎样使鼠标点击“透明”!? 要实现的效果就是如果鼠标点击一窗口,但是当前的窗口不响应鼠标点击事件,而是而是窗口后面的窗口响应这个鼠标点击事件,例如对话框的后面是桌面上的图标,则“点击”对话框,对话框没反应,而是点中对话框后面的图标。请问这种效果怎样实现?在外国网站上看到一点涉及到这方面的资料,好像叫做click through,只能在2000/xp中实现!是不是一个未公开的API来的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 得到下面窗体的句柄,然后POSTMESSAGE鼠标消息不就可以了吗。 我有一法,不知管用不? 如下要点击窗体下面的 [按钮] 之类的东西,其实也不难啊,(其它的类似)过程:1, 首先确定当前鼠标位置pt;GetCursorPos()2, 枚举当前所有的窗体;EnumWindows(),获得n个父窗体HWND.3, 得到每个父窗体的位置大小rect,比较看看pt是否在其中.如果在其中,则在枚举当前父窗口的子窗口,直到枚举完,枚举过程中比较子窗口的类别是否是Button类,如果是,则发一条消息让他按下执行,PostMessage();这样不断的枚举,直到完成所有的窗体查找.4, 如果是桌面图标,那麻烦就大了,先获得SysListView32类(桌面类),然后枚举出各个快捷图标的位置,[这是比较难的,要嵌入dll方式到iexplore中,恐怖吧:),具体参见windows核心编程] 还有,就算你解决了此问题,如何让他执行???发消息肯定是没有折了,他是图标啊,如果模拟鼠标功能?也不行啊!图标在你窗体下面,使用mouse_envet(),也是白搭啊,单击双击都在你窗体上了,如果是这种情况,就先隐藏你的窗体,然后,嘿嘿,mouse_envet(),双击之吧,就ok.然后在回复过来,是窗体又可见.呵,麻烦啊,但不是没有办法的. 当然如果桌面图标上有n个窗体,那么你得n次hide这些窗体哦!~~~~希望对你有所帮助 谢谢你的解答!我曾从国外的网站上下载一个clockx的软件来用,它就可以实现这种功能,不过它注明是说在win200/xp上用的,是不是跟操作系统有关!? hbb1981 :你说的那种应该是osd了 http://www.codeproject.com/w2k/forecast.asp?target=osd#xx506378xx To: woaini5994(坚持到底) 我就是找不到类似的代码,如果找到了,我也就不会上这里来发贴了! mfc 最大化的问题 为什么在dll的方法中不能定义CString类型的参数? 声明#import "msxml.dll" named_guids raw_interfaces_only报错,怎么回事?在线等,急! 关于在不同环境下的时钟问题!!! 怎样屏蔽掉对话框按esc键就关闭这个特性? 怎样对CheckBox被选中的消息进行响应 江湖告急! 关于图像浏览软件 小妹刚开始学习用VC编程,有问题请教! 在VC6下用WIN32 console Application编写的纯C程序,怎样使用自己所写的动态连接库或静态库? CListView与CListCtrl除了父类不同,到底有什么区别?
过程:
1, 首先确定当前鼠标位置pt;GetCursorPos()
2, 枚举当前所有的窗体;EnumWindows(),获得n个父窗体HWND.
3, 得到每个父窗体的位置大小rect,比较看看pt是否在其中.如果在其中,则在枚举当前父窗口的子窗口,直到枚举完,枚举过程中比较子窗口的类别是否是Button类,如果是,则发一条消息让他按下执行,PostMessage();这样不断的枚举,直到完成所有的窗体查找.
4, 如果是桌面图标,那麻烦就大了,先获得SysListView32类(桌面类),然后枚举出各个快捷图标的位置,[这是比较难的,要嵌入dll方式到iexplore中,恐怖吧:),具体参见windows核心编程]
还有,就算你解决了此问题,如何让他执行???发消息肯定是没有折了,他是图标啊,如果模拟鼠标功能?也不行啊!图标在你窗体下面,使用mouse_envet(),也是白搭啊,单击双击都在你窗体上了,如果是这种情况,就先隐藏你的窗体,然后,嘿嘿,mouse_envet(),双击之吧,就ok.然后在回复过来,是窗体又可见.呵,麻烦啊,但不是没有办法的.
当然如果桌面图标上有n个窗体,那么你得n次hide这些窗体哦!~~~~希望对你有所帮助
你说的那种应该是osd了