文档章节

Delphi 获取Chrome浏览器地址栏URL

vga
 vga
发布于 2017/04/26 14:55
字数 124
阅读 69
收藏 0

Delphi 获取Chrome浏览器地址栏URL 标签: chrome浏览器 谷歌浏览器 delphi 分类: Delphi var hChrome:hwnd; addr: array[0..255] of char; begin hChrome:=FindWindow('Chrome_WidgetWin_1',nil); hChrome:=FindWindowEx(0,hChrome,'Chrome_WidgetWin_1',nil); hChrome:=FindWindowEx(hChrome,0,'Chrome_OmniboxView',nil); SendMessage(hChrome,wm_gettext,256,Integer(@addr)); Mmo1.Lines.Add(addr); end;

我用的是XE,Chrome版本是 25.0.1323.1 m,测试通过

hChrome:=FindWindow('Chrome_WidgetWin_1',nil); hChrome:=FindWindowEx(hChrome,0,'Chrome_OmniboxView',nil); Google Chrome版本 27.0.1453.6 m,测试通过 其他版本没试过,大家可以试试

本文转载自:http://blog.sina.com.cn/s/blog_5b98456401016qhg.html

共有 人打赏支持
vga

vga

粉丝 21
博文 363
码字总数 26077
作品 0
佳木斯
私信 提问
加载中

评论(2)

vga
vga
uses DDEMan;

function GetURL(Service: string): string;
var
ClDDE: TDDEClientConv;
temp: PChar;
begin
Result:='';
//create a new DDE Client object
ClDDE:=TDDEClientConv.Create(nil);
with ClDDE do
begin
SetLink(Service, 'WWW_GetWindowInfo');
temp := RequestData('0xFFFFFFFF');
Result := StrPas(temp);
StrDispose(temp);
CloseLink;
end;
ClDDE.Free;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
s1,s2,DDEString:string;
ipos:integer;

begin
if Pos('- Mozilla Firefox',stitle)>0 then
begin
DDEString:= GetUrl('firefox');
iPos:=Pos(',', DDEString);
s1:=Copy(DDEString,iPos+2,Length(DDEString)-iPos-5);
s2:=Copy(DDEString,2,iPos-3);
Edit1.Text:=s1;
Edit2.Text:=s2;
end
else if Pos('- Microsoft Internet Explorer',stitle)>0 then
begin
DDEString:= GetUrl('iexplore');
iPos:=Pos(',', DDEString);
s1:=Copy(DDEString,iPos+2,Length(DDEString)-iPos-5);
s2:=Copy(DDEString,2,iPos-3);
Edit1.Text:=s1;
Edit2.Text:=s2;
end ;
end;
vga
vga
var
hChrome:hwnd;
addr: array[0..255] of char;
begin
hChrome:=FindWindow('Chrome_WidgetWin_1',nil);
hChrome:=FindWindowEx(0,hChrome,'Chrome_WidgetWin_1',nil);
hChrome:=FindWindowEx(hChrome,0,'Chrome_OmniboxView',nil);
SendMessage(hChrome,wm_gettext,256,Integer(@addr));
Mmo1.Lines.Add(addr);
end;

DelphiXE,Chrome版本是 25.0.1323.1 m,测试通过
Chrome 13:史上首个没有地址栏的浏览器

关于地址栏的位置问题,多家浏览器厂商都进行了不同的试验和摸索,如今最常见的三种分别是地址栏置下(Chrome、Firefox等)、地址栏置顶(IE8等)和地址栏置左(IE9)。Google开发人员近日开...

威廉亨利
2011/05/20
4.9K
30
Android 版 Chrome 正式发布

自Google于2008年9月发布了Chrome浏览器后,桌面浏览器格局发生了巨大的变化,虽然是后来者,但是Chrome却大有超越Firefox、IE前辈的潜力。然而,它却始终没有登陆Google自家智能手机操作系统...

红薯
2012/02/08
7.8K
14
Chrome 用户界面的一些新改变,更加简洁

Chrome 的用户体验设计师 Nicholas Jitkoff 今天在 Chromium 官方博客发文介绍了 Chrome 用户界面上的一些改变,包括即将到来的一些改变。大家知道,Chrome 的一大特色就是保持简洁,而这些 ...

红薯
2010/06/26
1K
6
Chrome 13 稳定版发布

Google 比原先计划推迟了一个礼拜,发布了 Chrome 13 的首个稳定版 (最新版本号为 13.0.782.107),Chrome 13 带来了 Windows 和 Linux 下的打印预览、页面预渲染(Instant Page)以及地址栏上的...

红薯
2011/08/03
4.1K
2
window.close(); 关闭浏览器窗口JS代码的分析总结

序号 关闭代码 需要确认 无任何作用 无需确认 1 window.close() IE7 firefox,chrome,safari Opera 2 window.opener=null; window.open('','_self'); window.close(); firefox IE7,Opera,......

zc0021
2013/01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
今天
1
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
8
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
3
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部