Bonsoir,

Je viends d'écrire ce petit code qui ouvre deux fichiers test.xxx avec une appli COMDCOM.

Chaque fichiers s'ouvre avec une instance d'application diférente, une appli ouvre un fichier.

Peut on à l'aide de ShellExecute spécifier l'ouverture des deux fichiers dans la meme application.

Avec un double click sur chaque fichiers ils s'ouvrent dans la même appli.

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
32
  SHELLEXECUTEINFO ExecuteInfo;    
  memset(&ExecuteInfo, 0, sizeof(ExecuteInfo));
 
  //ouvrir application avec premier fichier
  ExecuteInfo.cbSize       = sizeof(ExecuteInfo);
  ExecuteInfo.fMask        = SEE_MASK_NOCLOSEPROCESS;                
  ExecuteInfo.hwnd         = 0;                
  ExecuteInfo.lpVerb       = "open";                      
  ExecuteInfo.lpFile       = "V:\\PrjTmp\\COMDCOM\\Debug\\COMDCOM.exe";
  ExecuteInfo.lpParameters = "V:\\PrjTmp\\COMDCOM\\Debug\\test3.xxx";
  ExecuteInfo.lpDirectory  = 0;
  ExecuteInfo.nShow        = SW_SHOW;
  ExecuteInfo.hInstApp     = 0;   
  bool result = ShellExecuteEx(&ExecuteInfo) ;
  if( result == FALSE )
  {
  // erreur
    printf("Erreur lancement testarg.exe");
  }
 
  //ouvrir un second fichier
  ExecuteInfo.lpFile       = "V:\\PrjTmp\\COMDCOM\\Debug\\COMDCOM.exe";
  ExecuteInfo.lpParameters = "V:\\PrjTmp\\COMDCOM\\Debug\\test4.xxx";
  result = ShellExecuteEx(&ExecuteInfo) ;
  if( result == FALSE )
  {
  // erreur
    printf("Erreur lancement testarg.exe");
  }
 
	printf("Hello World!\n");
	return 0;
Merci d'avance