如题,一个很奇怪的现象。我在调用 ShellExecute 的时候,如果给出的网址是一个不跟任何参数的网址,ok,是可以打开的。但如果后面跟的网址是带参数的,ok,打开的就是我的文档了。死活都是我的文档。真是百思不得其解。源代码如下。var
s:string;
begin
s:='http://auto.zj.com/autotuk.php';
ShellExecute(form1.Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
ShowMessage('1');
s:='http://auto.zj.com/autotuk.php?sid=34'; // 这个网址是可以直接在ie中被正确打开的
ShellExecute(Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
end;代码清晰简单明了。第一次用 ShellExecute 打开的是一个没有跟形参的网址的,可以顺利打开。第二次打开的是一个网址后面跟参数的,于是打开的就是“我的文档”了。各位只要把上面的代码拷贝下来一运行就知道结果了。我现在的疑问就是为什么会这样子?还有我要如何可以顺利打开带参数的网址的网页呢?
s:string;
begin
s:='http://auto.zj.com/autotuk.php';
ShellExecute(form1.Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
ShowMessage('1');
s:='http://auto.zj.com/autotuk.php?sid=34'; // 这个网址是可以直接在ie中被正确打开的
ShellExecute(Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
end;代码清晰简单明了。第一次用 ShellExecute 打开的是一个没有跟形参的网址的,可以顺利打开。第二次打开的是一个网址后面跟参数的,于是打开的就是“我的文档”了。各位只要把上面的代码拷贝下来一运行就知道结果了。我现在的疑问就是为什么会这样子?还有我要如何可以顺利打开带参数的网址的网页呢?
s:string;
begin
s:='http://auto.zj.com/autotuk.php';
ShellExecute(form1.Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
ShowMessage('1');
s:='"http://auto.zj.com/autotuk.php?sid=34"'; // 这个网址是可以直接在ie中被正确打开的
ShellExecute(Handle,'open','Explorer.exe',PChar(s),'about:blank',SW_SHOWNORMAL);
end;s:='"http://auto.zj.com/autotuk.php?sid=34"';加双引号
这样也可以直接调用默认浏览器打开