Problème de "multitache" [VB] - Programmation
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]
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
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
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!