Bonjour,
j'ai créé un service window (programme qui tourne en tache de fond- icone 'service' dans le menu nouveau->application sous delphi : Classe TService).
A un moment donné, j'arrive tres bien à lancer des executables qui n'ont pas de fenetre.
Par contre, quand je fais une createProcessus ou shellexec sur des executables qui ont une fenetre, ils sont lancés (leur thread apparait dans la liste des processus) mais ne s'executent pas.
voici le code que j'utilise pour lancer les processus:
var
Si : STARTUPINFO;
Pi : PROCESS_INFORMATION;
theCommandeLine : string;
begin
Result := True;
// init processus
ZeroMemory (@Si,sizeof(STARTUPINFO));
Si.dwFlags := STARTF_USESHOWWINDOW;
Si.wShowWindow := SW_SHOWNORMAL;
// creation de la ligne de commande : executable + parametre
theCommandeLine := ACompleteFilename + ' ' + CommandLine;
// lancement du processus: si erreur, result = False
if not CreateProcess(nil,PChar(theCommandeLine),nil,nil,True,0,nil,nil,Si,Pi) then
begin
Result := False;
end else begin
//Attente fin du processus
WaitForSingleObject(Pi.hProcess,INFINITE);
OU BIEN :
Error_code := ShellExecute(0,
'open',
PChar(FProgramToLaunchWhenFinished),
PChar (FParametersOfProgramToLaunchWhenFinished),
PChar(FProgramToLaunchDirectory),
SW_SHOWNORMAL); //
Comment faire.
Merci