DELPHI打开网页问题 请教

feng77024062 2008-02-24 12:22:21
在DELPHI打开网页 好多代码都有缺点 不如会覆盖原来的窗口 不是新窗口打开 或者就是不能采用默认的浏览器 只能使用IE

高分求助 能在默认浏览器中新窗口打开网页的代码

代码尽量不出错 尽量不因为第三方原因而失效 我之前也找到过一个函数 但是不支持遨游旧版本的浏览器

谢谢各位
...全文
835 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mousear 2008-03-16
  • 打赏
  • 举报
回复
to feng77024062
你的代码有点小问题
if RightStr(Browser,1)<> '"' then
begin
// 这个if是为遨游旧版写的补丁 因为遨游旧版在注册表里生成的代码没有双引号 导致无法打开
Browser:= '"' + Browser;
Browser:= Browser + '"';
Browser:= StringReplace(Browser,' %1','" "%1',[rfReplaceAll]);
//Showmessage(Browser); 测试用
end;
//遨游补丁结束
应将if RightStr(Browser,1)<> '"' then
改为if LeftStr(Browser,1)<> '"' then
我的电脑中Browser值如下
"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -nohome
如果代码不改就会出错
无条件为你 2008-02-25
  • 打赏
  • 举报
回复
对。你的代码与我将要给你写的代码基本一致。
feng77024062 2008-02-24
  • 打赏
  • 举报
回复
我自己找了个代码 后来自己改了改 大家看看能用与否 我测试通过了 不知道别的电脑上怎么样

是mwy654321 的思路2:
function BrowseURL(const URL: string) : boolean;
var
Browser: string;
begin
Result := True;
Browser := '';
with TRegistry.Create do
try
RootKey := HKEY_CLASSES_ROOT;
Access := KEY_QUERY_VALUE;
if OpenKey('\htmlfile\shell\open\command', False) then
Browser := ReadString('') ;
CloseKey;
finally
Free;
end;
if Browser = '' then
begin
Result := False;
Exit;
end;
if RightStr(Browser,1)<> '"' then
begin
// 这个if是为遨游旧版写的补丁 因为遨游旧版在注册表里生成的代码没有双引号 导致无法打开
Browser:= '"' + Browser;
Browser:= Browser + '"';
Browser:= StringReplace(Browser,' %1','" "%1',[rfReplaceAll]);
//Showmessage(Browser); 测试用
end;
//遨游补丁结束

Browser := Copy(Browser, Pos('"', Browser) + 1, Length(Browser)) ;
Browser := Copy(Browser, 1, Pos('"', Browser) - 1) ;
ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW) ;
end;

//这是从右边取 顺便发上来
function RightStr (Const Str: String; Size: Word): String;
begin
if Size > Length(Str) then Size := Length(Str) ;
RightStr := Copy(Str, Length(Str)-Size+1, Size)
end;
  • 打赏
  • 举报
回复
用ShellExecute(0,0,'http://www.baidu.com',0,0,1);//这个可能在某些机器上无效.

要是不行的话,就用CreateProcess 启动IE,打开浏览器
无条件为你 2008-02-24
  • 打赏
  • 举报
回复
方法一:

ShellExecute(0,0,'http://www.baidu.com',0,0,1);

方法二:

读注册表得到默认浏览器,用带参数的命令调用即可。如果方法一不行,你再联系我索取这部分代码。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧