
Créer l'objet "WScript.Shell"
Tous ces examples supposent que cette ligne de code soit mise au debut du script:
Set WshShell = WScript.CreateObject("WScript.Shell")
Ouvrir un fichier ou un programme
WshShell.Run "C:\Progra~1\MySoftware\MonProgramme.exe", WindowState, Wait
Attention: Cette méthode ne supporte les nom avec des espaces blancs que si on les insere entre des trios de guillemets. Example:
WshShell.Run """C:\Program File\My Software\Mon Programme.exe""", WindowState, Wait
Cette méthode revient en fait a taper une ligne de code dans une fenetre DOS.
Le texte qu'il y a entre guillemets est la commande en DOS. Si cette commande contient des guillemets,
il faut les doubler pour qu'ils soient reconnu comme un guillemet et non comme la fin du texte.
Certains programmes connus du systeme peuvent etre lancés rien qu'avec leur nom, tel que Notepad.
True veut dire qu'on attend que le programme aie fini d'executer ou que l'on ai fermer la fenetre du programme (Cela dépend du programme).
Dans le cas où l'on décide d'attendre la commande peut servir à capter les éventuels messages émis par le programme à la fin de l'exécution (Voir dernier example ci-dessous).
On peut aussi capter de cette façon un numéro émit par un script en rajoutant WScript.Quit(MsgNum) à la fin du script qu'on lance de cette façon. (Voir code plus bas)
MyApp :Représente un chemin d'accès ou le nom d'un programme connu du système. Si le programme est connu du système (par example Notepad.exe) ou si le porgramme ou le fichier se trouve dans le même directory que celui où travaille le script (d'habitude le directory où le script se trouve), seul le nom du fichier avec son extention suffit, sinon il faudra mentioner le chemin d'accès complet.
0, 1, 2 et 3 désignent l'état (ou la taille) de la fenetre du programme (voir table).
Examples:
Ouvrir un programme maximisé sans attendre
WshShell.Run MyApp, 3, False
Ouvrir un programme minimisé et attendre
WshShell.Run MyApp, 2, True
Ouvrir un programme normalement sans attendre
WshShell.Run MyApp, 1, False
Ouvrir un programme invisible et attendre
WshShell.Run MyApp, 0, True
Ouvrir un programme et capter les signaux d'erreurs
StdOut = WshShell.Run(MyApp, 1, True)
Etat de la fenetre |Attendre
0 Invisible | True Attendre
1 Normal | False Ne pas attendre
2 Minimisé |
3 Maximisé
4 Dans la dernière position
5 Active la fenêtre si l'application est déjà ouverte
6 Minimise la fenêtre et en active une autre
7 Minimisée tout en gardant la même fenêtre active
8 Dans l'état où elle est, sans rien changer
9 Normal (même chose que le 1)
10 Basé sur l'état dans lequel elle a été ouverte par le programme
On peut aussi ouvrir des fichiers comme si on doublecliquait dessus dans Explorer.
Par example:
WshShell.Run """C:\My Documents\Mon fichier.txt""", 1, False
ouvrira Mon fichier.txt dans Notepad, du moin si Notepad est l'application par défault pour les fichiers txt.
(ne me remerciez pas c'est du copié-collé)
Partager