delphi BHO检测URL地址没&符号,为什么? 有源代码下载哦

delphi BHO检测URL地址没有&符号,为什么? 有源代码下载哦
如果网页打开
https://www.google.com.hk/search?q=%E8%AE%BA%E5%9D%9B&aq=f&oq=%E8%AE%BA%E5%9D%9B&aqs=chrome.0.57j65l3j0l2.2981&sourceid=chrome&ie=UTF-8
得到的URL是delphi BHO检测URL地址没&符号,为什么? 有源代码下载哦

源代码共享地址  http://yunpan.cn/QEX96ujhzAbap  
Delphi URL

------解决方案--------------------

procedure DoBeforeNavigate2(const pDisp: IDispatch; var URL: OleVariant;
  var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData:
  OleVariant;
  var Headers: OleVariant; var Cancel: WordBool);
var
  i: Integer;
  sUrl: PWideChar;
begin
  sUrl := PWideChar(VarToWideStr(URL)); 
  MessageBoxW(0, sUrl, '当前地址', 0); 
......

------解决方案--------------------
不是没有&符号,是用showmessage出来的显示确实没有,之前我也有此困惑,不过后来换了种方法来显示的时候发现就是对了的,你可以用文件记录的方法来记录这个地址,大致可以这样:

Procedure AddLogs(LogStr:String);
var
  F1: Textfile;
begin
  AssignFile(F1,'c:\Logs.txt');
  if FileExists('c:\Logs.txt') then
    Append(F1)
  else
    Rewrite(F1);
  writeln(F1,LogStr);
  CloseFile(F1);
End;

试试,这样得到的结果就不会有困惑了。