VC++ : Lancer une application parallèle

VC++ : Lancer une application parallèle - C++ - Programmation

Marsh Posté le 14-05-2002 à 18:54:24    

Je cherche à faire un bout de code en C/C++ qui lance automatiquement une application et un fichier donné, UNIQUEMENT à partir du fichier (et surtout de son extension), ... un peu comme lorsque vous cliquez sur un .doc, l'OS détermine l'application associée (WORD), la lance, puis ouvre le fichier .doc sélectionné.

Reply

Marsh Posté le 14-05-2002 à 18:54:24   

Reply

Marsh Posté le 14-05-2002 à 19:49:27    

Normalement la commande qui correspond c'est "start nom_du_fichier.doc".
Vu que start.exe est un programme qui existe et qui est dans le path, un simple ShellExecute devrait suffire.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 14-05-2002 à 20:01:52    

ShellExecute, c'est un peu bourrin  :sarcastic:  
system("" ), c'est pas mieux ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2002 à 20:14:31    

:heink: Pour un programme Windows, ShellExecute je vois pas ce que ça a de bourrin... C'est pas comme si j'avais dit d'utiliser CreateProcess :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-05-2002 à 11:13:52    

ShellExecute(), je ne connais pas, ça fait partie de quelle API (il faut inclure quoi ?).
 
Quand à system("schmeull" ), il a un gros inconvénient, il est dépendant du process parent , ce qui a pour conséquence de mettre en attente l'application qui lance system("..." ).
 
La méthode qui ressemble le plus à ce que je veux faire est spawnlp(_P_NOWAIT , ...), mais je suis obligé de préciser l'application associée au fichier, ce que je ne connais pas à priori.

Reply

Marsh Posté le 15-05-2002 à 11:14:56    

je dirais que ShellExecute ne bloque pas (du moins en C++ et en Pascal).
Je connais pas VB, donc je ne sais pas t'aider plus, mais ça doit pas être bien difficile à trouver ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-05-2002 à 12:13:36    

C'est bien en C++ que je code !
J'ai trouvé la fonction ShellExecuteEx() qui correspond pile poile à ce que je veux.
 
Cette function se trouve dans shell.dll et j'arrive pas à linker avec.

Reply

Marsh Posté le 15-05-2002 à 12:37:01    

Pour ceux que ça intéresse, tout est expliqué sur les process :
 
http://www.codeproject.com/useritems/newbiespawn.asp

Reply

Marsh Posté le 15-05-2002 à 13:13:05    

Tiens oui où est-ce que j'ai vu que tu parlais de VB moi :o :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed