首页 > 代码库 > How to open a web site with the default web browser in a NEW window

How to open a web site with the default web browser in a NEW window

http://delphi.about.com/cs/adptips2004/a/bltip0504_4.htm

When using ShellExecute (as explained in the above article) to open a web site or a htm file with the default web browser you *don‘t* have the option to specify that you want to start a new instance of the browser - in general an existing window is used.

To make sure a new window is created we need to call the ShellExecute function a little differently - by specifying the URL as a parameter to a call to your default browser (an application associated with the htm and html, etc extension).

uses   Registry, ShellAPI;function BrowseURL(const URL: string) : boolean;var   Browser: string;begin   Result := True;   Browser := ‘‘;   with TRegistry.Create do   try     RootKey := HKEY_CLASSES_ROOT;     Access := KEY_QUERY_VALUE;     if OpenKey(\htmlfile\shell\open\command, False) then       Browser := ReadString(‘‘) ;     CloseKey;   finally     Free;   end;   if Browser = ‘‘ then   begin     Result := False;     Exit;   end;   Browser := Copy(Browser, Pos(", Browser) + 1, Length(Browser)) ;   Browser := Copy(Browser, 1, Pos(", Browser) - 1) ;   ShellExecute(0, open, PChar(Browser), PChar(URL), nil, SW_SHOW) ;end;//UsageBrowseURL(http://www.cnblogs.com) ;

 

How to open a web site with the default web browser in a NEW window