为什么这个"文本框"没有窗口句柄?-- UI模拟
时间:2011-12-04
来源:互联网
最近安装了朗文词典,这个词典的界面参看附图。如果想查询一个单词的解释,在一个“文本框”输入单词,然后点击OK按钮或是回车即可查到相应的注释。
我的目的是:想用程序控制自动输入这个”文本框“的内容,以方便查询。
用SPY++(VS2010中的SPY++)在主界面(UI)窗口搜索,发现这个主UI中的大部分部件在SPY中显示为灰色(应该是隐藏的)。但也一些部件是正常的,并且看到对应的Handle ID. 但输入生词的”文本框“和 所有“按钮”都没有被SPY++视为独立窗口(仅显示为主窗口handle ID),更不用说自己独立的Handle ID.
这和我以前遇到的部件不一样,我的理解是:文本框和按钮都”窗口“,且有Handle ID.
为了一些特殊效果,按钮可以绘制,但一个普通输入功能的文本框应该没有必用这样做吧。
问题1:是不是用特殊的文本框,SPY发现不了? 比如用WPF的窗口,是不是和传统窗口不同?或者什么基于其它平台的窗口系统?
问题2:在”文本框“中输入单词,点击OK按钮。这些动作产生的Windows Message,在SPY中可以捕获, 尝试向主窗口模拟输入这些消息(VC++6.0写得代码),但连模拟”点击OK按钮“的功能还未实现。我想这个思路是对的。要实现目的还有其它方法吗?
作者: ruma23 发布时间: 2011-12-04
确实存在没有句柄的控件:
轻量控件有时也被称为“无窗口的控件”,它与常规的控件有一点显著的区别:它们不具有窗口句柄(hWnd 属性)。
轻量控件有时也被称为“无窗口的控件”,它与常规的控件有一点显著的区别:它们不具有窗口句柄(hWnd 属性)。
作者: fight_in_dl 发布时间: 2011-12-04
DirectUI是没有窗口句柄的,根据你的描述,这个窗口应当不是DirectUI.
1)不排除这个控件是画上去了,如果是传统的编辑框,你用SPY++应当可以看到窗口句柄.
2)没有窗口句柄,你怎么模拟相应窗口的消息,不过可以考虑广播消息.在主窗口中处理.
(不过编辑框中的输入实现起来应该比较麻烦)
1)不排除这个控件是画上去了,如果是传统的编辑框,你用SPY++应当可以看到窗口句柄.
2)没有窗口句柄,你怎么模拟相应窗口的消息,不过可以考虑广播消息.在主窗口中处理.
(不过编辑框中的输入实现起来应该比较麻烦)
作者: yuucyf 发布时间: 2011-12-04
应该是 windowless richedit
作者: redui 发布时间: 2011-12-04
引用 3 楼 redui 的回复:
应该是 windowless richedit
应该是 windowless richedit
在Bing中查到一些关于windowless richedit的资料,还未细看。
http://social.msdn.microsoft.com/Search/en-US?query=Windowless%20RichEdit&ac=3
请问:
看上去windowless richedit与COM,ACtiveX技术有关。把UI做成Windowless有什么用途呢?看上去我遇到的应该是Windowless UI component(RichEdit 和 button).如果想实现我的目标,有什么新方法呢?
作者: ruma23 发布时间: 2011-12-04
引用 2 楼 yuucyf 的回复:
DirectUI是没有窗口句柄的,根据你的描述,这个窗口应当不是DirectUI.
1)不排除这个控件是画上去了,如果是传统的编辑框,你用SPY++应当可以看到窗口句柄.
2)没有窗口句柄,你怎么模拟相应窗口的消息,不过可以考虑广播消息.在主窗口中处理.
(不过编辑框中的输入实现起来应该比较麻烦)
DirectUI是没有窗口句柄的,根据你的描述,这个窗口应当不是DirectUI.
1)不排除这个控件是画上去了,如果是传统的编辑框,你用SPY++应当可以看到窗口句柄.
2)没有窗口句柄,你怎么模拟相应窗口的消息,不过可以考虑广播消息.在主窗口中处理.
(不过编辑框中的输入实现起来应该比较麻烦)
的确是这样,SPY能捕获背景主窗口的消息(当我在操作”文本框“和OK按钮的时候),就是向背景主窗口发送相同的消息,希望有”反应“。。。。。
作者: ruma23 发布时间: 2011-12-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28