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;

//Usage
BrowseURL(http://www.cnblogs.com) ;

 

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

上一篇:在Windows基础上(硬盘)安装Linux操作系统(CentOS/RedHat)


下一篇:修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot