Différence entre process.start et wshell.run() [Résolu]

Signaler
Messages postés
77
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
6 septembre 2010
-
Messages postés
77
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
6 septembre 2010
-
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 ???


Merci d'avance de vos réponse.

Cordialement.

DeWaRs

6 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Oui, il te suffit d'exécuter cmd.exe /C "chemin vers le programme en laissant les doubles-guillemets"

---
VB.NET is good ... VB6 is better
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
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.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Bien entendu, je précisais juste que si le composant est absent du système => Plantage (Valable pour tout ActiveX)

Bien sûr l'install de WScript est téléchargeable depuis le site de Microsoft (pour les anciennes versions de Windows)

Cordialement, Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
oui, en .net, on utilise le Framework...

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
@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.

---
VB.NET is good ... VB6 is better
Messages postés
77
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
6 septembre 2010
1
Merci de vos précisions :)