ShellExecute怎么打开一个新的IE窗口来执行新链接(100分)

  • 主题发起人 主题发起人 尛尛
  • 开始时间 开始时间

尛尛

Unregistered / Unconfirmed
GUEST, unregistred user!
用ShellExecute打开一个链接时,
如果存在打开的IE窗口,
windows总是用原来已打开的IE窗口执行此链接,
而原来此IE窗口中的网页就被覆盖了,
怎么才能让windows打开一个新的IE窗口来执行新链接呢?
 
ShellExecute的问题已经说过多次了。

你用“ShellExeute”关键字检索问题,参考一下。
 
g

好像没有讨论过类似的问题.
 
哎呀!这个问题也简单……
哈哈……

从注册表HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/App Paths/IEXPLORE.EXE
中取到IEXPLORE.EXE的路径,然后直接用ExecuteFile()调用就成了。直接用链接地址作执行参数,保证搞定。 :)
 
这里面有没有什么规律? 因为有时候它又是在新窗口打开的,很奇怪.
 
executefile()不是直接可以使用的吗?用注册表干什莫?
 
ExePath:="IEXPLORE.EXE";
WinExec(PChar(ExePath+' '+UrlStrings),SW_MINIMIZE);
 
这个好 ShellExecute(handle,'open',UrlText,nil,nil,SW_SHOWNORMAL);
 
ShellExecute(Handle, 'open', 'IEXPLORE','http://www.sohu.com', nil, SW_SHOWNORMAL);
注意要在单元头部的uses段中加入shellapi


 
同意kucio的看法
 
ShellExecute(Handle, 'open', 'IEXPLORE','http://www.xxx.net, nil, SW_SHOWNORMAL);





 
uses windows,..shellapi;
ShellExecute(Handle, 'open', 'IEXPLORE','http://*.*', nil, SW_SHOWNORMAL);


 
ShellExecute( this->Handle, NULL, "IEXPLORE", PChar( (URLData.URL).c_str() ), NULL, WindowSize1->Tag );
 
多人接受答案了。
 
后退
顶部