Bonjour.

Je lance mon navigateur par défaut avec comme paramètre une adresse http.
Si le navigateur n'est pas ouvert aucun problème, s'il est déjà ouvert une nouvelle fenêtre s'ouvre mais sur ma page d'accueil.
voici un extrait de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var
Browser: array[0..255] of Char;
navigateur:string;
PathTmp : array[0..255] of Char;
Executable: string;
StartInfo: TStartupInfo;
ProcessInformation: TProcessInformation;
PCharFichier: PChar;
fichier:string;
handles: TList;
i: Integer;
Texte:array[0..250]of Char;
 
begin
try
GetTempPath(255, PathTmp);
fichier:='temp.html';
FileCreate(PathTmp + fichier);
FindExecutable(PChar(fichier), PathTmp, Browser);
DeleteFile(PathTmp + 'temp.html');
finally
navigateur:=String(Browser);
ZeroMemory(@StartInfo,
sizeof(StartInfo)); 
StartInfo.cb:= sizeof(StartInfo);
end;
 
fichier:='https://www.geoportail.gouv.fr/carte' ;
PCharFichier:=PChar(' "'+fichier+'"');
 
CreateProcess(PChar(navigateur),PCharFichier,nil,nil,true,CREATE_NEW_CONSOLE,nil,nil,StartInfo,ProcessInformation);
J'ai opté pour cette solution car ensuite je récupère ensuite le handle de la fenêtre, ce qui me permet d'envoyer un message (déplacement automatique de la carte), et de copier une partie de celle-ci (en passant par GetDc(handle) )

Merci pour votre aide.