function URLInfo(sBrowerPrgFile, sServiceName: string; Netscape: boolean; var Title: string): pChar;
{
参数说明:
  sBrowerPrgFile: 浏览器exe文件的完整路径名
  sServiceName:   浏览器的DDE-Service名字
                  Netscape是'Netscape',IE是'iexplore'
  Title:          返回当前网页的title
  返回值:         pChar的字符串
}
var
 DDEClientConv: TDDEClientConv;
 StartPtr, EndPtr: pchar;
  browserWinName: string;
begin
 result:= #0;
  Title:= '';  if (sBrowerPrgFile = '') or (not FileExists(sBrowerPrgFile)) then
  raise EBrowserNotFoundError.create('shit!浏览器应用程序不存在!'); ddeClientConv:= TDDEClientConv.Create( nil );
  try
    with ddeClientConv do
    begin
     ServiceApplication := sBrowerPrgFile;
      SetLink( sServiceName,'WWW_GetWindowInfo');
      StartPtr:= RequestData('0xFFFFFFFF');
    end;
  finally
   ddeClientConv.Free;
  end;  if startPtr^ = #0 then
   exit;
    {skip leading "}
    inc(StartPtr);
    EndPtr:= StartPtr;
    {proceed to next "}
    while (EndPtr^ <> '"') do
      inc(EndPtr);
    {terminate URL string}
    EndPtr^:= #0;
    result:= StartPtr;
    {skip ","}
    StartPtr:= EndPtr+3;
    if Netscape then
      inc(StartPtr,12);    EndPtr:= StartPtr;
    if Netscape then
      while (EndPtr^ <> ']') do
        inc(EndPtr)
    else
      while (EndPtr^ <> '"') do
        inc(EndPtr);    EndPtr^:= #0;
    Title:= strPas(StartPtr);
end;

解决方案 »

  1.   

    uses windows, ddeman, ......
    function Get_URL(Servicio: string): String;
    var
       Cliente_DDE: TDDEClientConv;
       temp:PChar; //<<----------------这是新的
    begin
        Result := '';
        Cliente_DDE:= TDDEClientConv.Create( nil );
         with Cliente_DDE do
            begin
               SetLink( Servicio,'WWW_GetWindowInfo');
               temp := RequestData('0xFFFFFFFF');
               Result := StrPas(temp);
               StrDispose(temp); //避免内存漏洞
               CloseLink;
            end;
          Cliente_DDE.Free;
    end;procedure TForm1.Button1Click(Sender);
    begin
       showmessage(Get_URL('Netscape'));
          or
       showmessage(Get_URL('IExplore'));
    end; 
    节日快乐
      

  2.   

    更低级的问题  给阿刚:
    有什么简单方法把url和标题分开
    还有如果标题是中文 显示会不完整,怎办