到底有没有方法,我找MSDN都两天了!
主 题:VC的菜问题,找个API
作 者:Cloudyshadow
所属论坛:Visual C++
问题点数:50
回复次数:6
人气指数:105
发表时间:2000-12-24 21:24:00
我想写一个程序,首先启动一个程序,设定一个定时器,然后,切换到另一个窗口,比方说IE,假如IE中分三个Frame,我想自动控制其中一个页面的编辑框,<input>,同时改变其中的值,现在我用GetFroegroundWindow得到IE的hwnd,然后我想通过focus得到那个编辑框的句柄,怎么办,苦恼。。。
转移贴子到 Visual C++ Visual Basic Delphi C/C++ C++ Builder ASM 数据库开发 PowerBuilder ActiveX/COM 数据算法 软件工程 图形/游戏/多媒体 安全技术 网络/通讯 技术书籍 文件格式 C# XML 主页制作 图形处理 ASP PHP Perl Java Javascript JSP 软件使用 资源使用 软件注册 我看软件 寻找软件 行业软件 软件评测 Windows 95/98 Windows NT/2000 DOS Linux/Unix 硬件指南 程序人生 软件市场 程序员考试 人才热线 建议和意见 灌水乐园 走向海外 | 贴子加分 | 密码:
回复贴子:
vrman回复于2000-12-24 22:28:00
IE窗口中的编辑框是根本没有窗口句柄的。IE只不过把它画在自己的窗口中而已,所有的消息派发与解释都由IE窗口自己进行。
rchu回复于2000-12-24 22:46:00
如同上面那位老兄说的,ie这一点很讨厌
但是可以试试发送键盘消息
bigjim回复于2000-12-24 23:51:00
呵呵,我可是试验过的,没有调查没有发言权。我可以编程在IE中输入www.sohu.com,回车!
方法是这样的,先查找一个类名为IE_FRAME(名字不记得了,用spy++看看吧),然后列举它的子窗口,如果有一个类名为EDIT,向他发消息即可。
sxbyl回复于2000-12-25 8:26:00
To:bigjim 得到那个地址栏当然是个很容易,但得到页面里的编辑框就困难了,不信你再调查调查。我的一个想法是新打开一个页面后,发送Tab键消息,Tab键消息的个数硬编码到程序中,你可以试一下,有了结果说一声。
NiceFeather回复于2000-12-25 9:53:00
to bigjim:
你说的方法比较有趣,值得探讨!你说的方法是想通过探测类名的方法得到EDIT窗口,如果那个页面只有1个EDIT则可以按你说的方法。但是,假如那个页面有N个EDIT,而我只想要其中特定的一个,并发送消息,怎么办?
这个问题我以前做过试验,当有N个EDIT时,所有EDIT将接收到你发送的消息!
希望能与大家继续探讨这个问题!
Cloudyshadow回复于2000-12-25 14:33:00
我的想法是通过carot,那个插入符号,通过GetCaretPos(point),然后用WindowFromPoint得到窗口的句柄,但是好像编辑框没有句柄的感觉,考虑发消息,但是没有句柄怎么办,我还是希望通过Caret来定位编辑框,大家接着想一想!