在WebBrowser中打开一个url后,然后用SendMessage发送tab,可以切换URL中的超链接。
你可以打开一个IE,如果一个浏览器,然后按几下TAB看看效果,我就想实现不通过按键盘直接通过sendmessage来实现这个效果!
请在回帖的时候试试你的答案是否可行哦!希望高手多多帮忙,谢谢!
你可以打开一个IE,如果一个浏览器,然后按几下TAB看看效果,我就想实现不通过按键盘直接通过sendmessage来实现这个效果!
请在回帖的时候试试你的答案是否可行哦!希望高手多多帮忙,谢谢!
解决方案 »
- 如何实现万能查找?
- 哪个控件包提供以下组件.
- 如何准确识别动态创建的控件?
- 各位,给我个思路和建议!数据存放问题
- Windows中有没有用于加密和解密的API函数?
- 关于在delphi中如何执行存储过程问题
- (急)如果要用BDE连上SQL Server怎么办呢
- delphi汉化版中的帮助文件汉化了吗? 就像VB一样
- 关于Ttreeview控键的问题
- 我的一个数据库程序,在别的机器上运行时出现“exception EDBEngineErrorin in module get_data.dll at 00069006”,如何解决?
- delphi中dbchart中加入pie类型的图表与其它类型的图表会引起图形质量变化,怎么解决啊?
- 求英文文献中英对照翻译的文档
sendmessage(findwindow(NIL,'IEFTAME'),wm_keydown,table(的值),0);sendmessage(findwindow(NIL,'IEFTAME'),wm_keyup,table(的值),0);
顺便说一句,楼主态度不是很好,是不是程序没写出来郁闷了?
确实郁闷了,你说的方法我试了好几天了,一直不行,所以才上来问的!
你能回答我很高兴,不过,这个方法行吗?
你看看你句柄找错没sendmessage(Handle,wm_keydown,$9,$c00f0001);
sendmessage(Handle,wm_keyup,$9,$c00f0001);
这个是它的句柄,没错吧!
begin
WebBrowser1.Navigate('http://www.sina.com.cn');
end;procedure TForm1.Button2Click(Sender: TObject);
var
handle:Integer;
begin
handle := findWindowEx(WebBrowser1.Handle, 0, 'Shell DocObject View', nil);
handle := findWindowEx(handle, 0, 'Internet Explorer_Server', nil);
WebBrowser1.SetFocus;
SendMessage(handle, WM_KEYDOWN, VK_TAB, 0);
SendMessage(handle, WM_KEYUP, VK_TAB, 0); SendMessage(handle, WM_KEYDOWN, VK_TAB, 0);
SendMessage(handle, WM_KEYUP, VK_TAB, 0); SendMessage(handle, WM_KEYDOWN, VK_TAB, 0);
SendMessage(handle, WM_KEYUP, VK_TAB, 0);
end;
postmessage(Handle,wm_keyup,$9,$c00f0001);
呵呵,试了,可以了
非常感谢你的解答,不知道你那为什么可以,呵呵!我上面的代码中的sendmessage已经改为你写的样式了,可是还是不行,请你再帮忙看一下,谢谢了!
试了你的代码
你没有取到句柄
handle := findWindowEx(WebBrowser1.Handle, 0, 'Shell DocObject View' , nil);
handle := findWindowEx(handle, 0, 'Internet Explorer_Server', nil);
WebBrowser1.SetFocus;
showmessage(inttostr(handle));
句柄为0
我用的EnumChildWindows(hwnd,@Callwebhandle,0); 来取的canwebhandle是自已定义的
Shell DocObject View/3999594
Internet Explorer_Server/67762应该是给哪个类发消息?是Internet Explorer_Server吗?其实在我这
handle := findWindowEx(WebBrowser1.Handle, 0, "Shell DocObject View ", nil);
handle := findWindowEx(handle, 0, "Internet Explorer_Server ", nil);
找到的句柄都是正确的
但是把它跟踪出来的是0
http://www.lihuasoft.net/article/show.php?id=2906