cs_DeWaRs
Messages postés77Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention 6 septembre 2010
-
29 juil. 2009 à 15:50
cs_DeWaRs
Messages postés77Date d'inscriptionvendredi 31 décembre 2004StatutMembreDernière intervention 6 septembre 2010
-
30 juil. 2009 à 09:42
Bonjour a tous.
On m'a conseiller sur ce forum d'utiliser process.start plutot que wshell.run(), mais pour qu'elle raison.
Une petite question, avec wshell.run() quand j'execute un fichier VBS, il n'y a pas de fenetre dos qui s'affiche. Est-il possible de faire la meme chose avec process.start ???
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 29 juil. 2009 à 22:24
Salut,
Petites explications plus détaillés :
L'objet WshShell est obtenu en créant une instance de l'objet COM identifié par le progID «WScript.WshShell« :
Set WshShell = CreateObject("WScript.WshShell")
Tu crée donc une instance vers un composant COM, si celui-ci n'existe pas, ou n'est pas inscrit dans le registre sur la plateforme ou tu exécute ton programme, celui-ci ne fonctionnera pas correctement.
Process est une classe du framework, et donc natif au codes .Net, ce qui évite les dépendances vers des fichiers.
De plus la classe Process, t'offre pas mal de fonctionnalités pour récupérer des infos sur le process lancé et manipuler celui-ci (Voir F2 dans Visual Studio, Taper Process pour avoir la liste des méthodes de la classe).
Il faut un maximum éviter de faire appel à des object COM dans la mesure du possible.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 29 juil. 2009 à 23:05
@Mayzz : Wscript.Shell est présent sous tous les OS Windows civilisés (à partir de Windows 2000). Donc pas de problème pour ça. Mais je suis d'accord avec toi quand tu dis qu'il ne faut pas utiliser COM en .NET : le framework a déjà des fonctions faites pour.