Passage de paramètre avec CreateProcess pour le navigateur par défaut
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:
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.