Voici ce que je cherche à faire:

J'ai un programme "ProgrammeMaître" qui en lance un autre "ProgrammeLancé" (sur lequel je n'ai pas de modification de possible).

J'aimerais que ProgrammeLancé ne s'arrête qu'à la fermeture de ProgrammeMaître ou par son interface normale, mais pas par une demande de fermeture de session. Donc je pense que la solution est de passer par un processus fils.

Et je n'arrive pas à faire appartenir le processus de ProgrammeLancé à celui de ProgrammeMaître (le but est de lancer un jar).

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
 
Var  StartInfo   : TStartupInfo;
     ProcessInfo : TProcessInformation;
     SecurityInfo : TSecurityAttributes;
begin
  { Mise à zéro de la structure StartInfo }
  FillChar(StartInfo,SizeOf(StartInfo),#0);
  { Seule la taille est renseignée, toutes les autres options }
  { laissées à zéro prendront les valeurs par défaut }
  StartInfo.cb     := SizeOf(StartInfo);
  StartInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartInfo.wShowWindow := SW_HIDE;
 
  SecurityInfo.nLength := SizeOf(SecurityInfo);
  SecurityInfo.lpSecurityDescriptor := nil;
  SecurityInfo.bInheritHandle := True;
 
  { Lancement de la ligne de commande }
  If CreateProcess(nil, '"java.exe" "-jar" "monJar.jar", @SecurityInfo, @SecurityInfo, True,
                0, Nil, 'MonPath', StartInfo,ProcessInfo)
Auriez-vous une solution?

Merci