当前位置:编程学习 > C#/ASP.NET >>

API获取输入焦点


做了个模拟键盘程序,由于有中文,不能使用sendkey,现采用SendMessage向焦点发送信息。
现在能向其他有焦点的form程序发送,IE上的输入焦点则不行,求高人帮忙解决下。。。急 --------------------编程问答-------------------- 用SendMessage,应该就需要有句柄吧
IE上的输入框有句柄吗?

--------------------编程问答-------------------- 获取 当前具有焦点的空间的 句柄 啊 .然后在send; --------------------编程问答--------------------
引用 1 楼  的回复:
用SendMessage,应该就需要有句柄吧
IE上的输入框有句柄吗?

用GetFocus()获取的,也有值,不知道对不对。 --------------------编程问答-------------------- api有一个 GetFocus,获得焦点控件的句柄 --------------------编程问答-------------------- 现在是这样做的
GetWindowThreadProcessId > AttachThreadInput > GetFocus > SendMessage
就是浏览器上不行

--------------------编程问答-------------------- 如果焦点在 <input id="aa> 里,你用GetFocus能取出句柄,午饭算我的



--------------------编程问答-------------------- 貌似说IE 中的没有句柄,怎么办? --------------------编程问答--------------------
引用 7 楼  的回复:
貌似说IE 中的没有句柄,怎么办?


有难易两种方法:
易:仍然使用SendKey,keybd_event之类的方法

难:通过IE窗口句柄,取得Internet Explorer_Server句柄
通过Internet Explorer_Server句柄.取得IWebBrowser2接口
通过IWebBrowser2接口,可以找出你需要操作的那个元素
通过找到的元素,可以使用JavaScript,或者其他HTML上的方法操作元素



--------------------编程问答--------------------
引用 6 楼  的回复:
如果焦点在 <input id="aa> 里,你用GetFocus能取出句柄,午饭算我的

那,有何办法能实现 --------------------编程问答--------------------
引用 8 楼  的回复:
有难易两种方法:
易:仍然使用SendKey,keybd_event之类的方法

难:通过IE窗口句柄,取得Internet Explorer_Server句柄
通过Internet Explorer_Server句柄.取得IWebBrowser2接口
通过IWebBrowser2接口,可以找出你需要操作的那……

貌似2种都不好实现,
sendkey 有中文。
ie不知道会在哪些地方填入。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,