Delphi DDE在活动选项卡中打开url

Delphi DDE在活动选项卡中打开url,delphi,dde,Delphi,Dde,我想使用delphi在已经存在的活动opera/IE/FF选项卡中打开url 我试过: ShellExecute(hw,'open',pchar(url),nil,nil,SW_SHOWNORMAL); 其中,hw是web浏览器的句柄,url是字符串变量,带有我要打开的url,但它打开了新选项卡,而不是使用活动选项卡 我还尝试: procedure SetURL(Browser, URL: String); var Client_DDE: TDDEClientConv; begin C

我想使用delphi在已经存在的活动opera/IE/FF选项卡中打开url

我试过:

ShellExecute(hw,'open',pchar(url),nil,nil,SW_SHOWNORMAL);
其中,hw是web浏览器的句柄,url是字符串变量,带有我要打开的url,但它打开了新选项卡,而不是使用活动选项卡

我还尝试:

procedure SetURL(Browser, URL: String);
var
  Client_DDE: TDDEClientConv;
begin
  Client_DDE := TDdeClientConv.Create(nil);
  with Client_DDE do
  begin
    SetLink( Browser, 'WWW_Activate' );
    RequestData('0xFFFFFFFF');
    SetLink( Browser, 'WWW_OpenURL' );
    RequestData(URL);
    CloseLink;
  end;
  Client_DDE.Free;
end;
SetURL('Opera',url)在按钮点击过程中,但它也会在新选项卡中打开url。当我使用
RequestData(URL+,-1')在SetURL过程中,然后在新窗口中打开url。如何在已有的浏览器选项卡中打开url


我有Delphi 7。

不幸的是,这是不可能的。看一看类似的问题:

可能重复的。DDE只有在宿主应用程序专门为响应命令而编写的情况下才起作用,而且不太可能所有浏览器都支持DDE(特别是因为它是一种MS技术),甚至不太可能有少数浏览器专门为
WWW
命令提供处理程序。你在所有方面都错了。:-)我读过那个主题,现在我知道我不能通过ShellExecute和SetUrl来实现,但还有其他方法吗?stanley写了一些关于“OLE自动化”的文章,你能给我一些关于“OLE自动化”的代码示例或链接吗?只有Internet Explorer支持OLE自动化。我从来没有用过那样的IE,所以我帮不了你更多。目前,您最好的选择是在web上搜索“Internet Explorer OLE Automation”。其他web浏览器(例如Opera)如何?OLE是Microsoft Windows的功能,其他操作系统不支持它,因此,除了Internet Explorer之外,浏览器不支持OLE。正如我在回答中所写,这是不可能的。浏览器在打开URL时不会为这种行为公开函数。