[VB] Problème de "multitache"

Problème de "multitache" [VB] - Programmation

Marsh Posté le 19-04-2001 à 18:50:44    

Voila: J'appelle une appli dans mon source vb par la fonction Shell(pathname). Cette appli me sort un fichier que je voudrais ouvrir dans mon source vb après l'appel de l'appli. Seulement voila, vindoze est multitache (la fonction shell est asynchrone comme ils disent dans la doc) et donc quand j'essaye d'ouvrir mon fichier créé par l'appli, l'execution de l'appli n'est pas terminée => le fichier n'existe pas encore => erreur à l'execution.
Bref, il me faudrait une fonction qui qui attende la fin de l'execution de l'appli ou un truc dans le genre. ( la fonction GetModuleUsage appliquée le hundle retourné par la fonction Shell faisait ca dans vb3 mais elle existe plus dans vb5 et 6 ... )
Les pro de VB: lachez vous!
Merci!

Reply

Marsh Posté le 19-04-2001 à 18:50:44   

Reply

Marsh Posté le 19-04-2001 à 19:00:58    

Plutot que d'utiliser Shell utilise plutot les méthodes de l'api Win32 comme CreateProcess ( http://msdn.microsoft.com/library/ [...] d_9dpv.htm ) qui te permettra de lancer l'application et puis WaitForSingleObject ( http://msdn.microsoft.com/library/ [...] o_4ldg.htm ) qui permettra a ton process initial d'attendre la fin de l'execution en lui passant un handle sur le process précédement crée.

 

[edit]--Message édité par Guru--[/edit]

Reply

Marsh Posté le 19-04-2001 à 19:09:46    

une version simple ( qui a dit crade ;) ) serait d'attendre , apres avoir lancé ton prog. externe, que l'API FindWindow te renvoie 0


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 20-04-2001 à 18:52:12    

Je n'ai pas encore essayer mais il semblerais que la solution se trouve ici: http://www.vbfrance.com/article.asp?Val=372  
Ca en intéressera quelques uns je pense!
En tout cas merci guru et jwhy  ;)

Reply

Sujets relatifs:

Leave a Replay

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