Etude du script write_to_ie.vbs

 

 

 

Le script write_to_ie.vbs montre comment utiliser les capacités graphiques de nos écrans à partir d'un script VBScript, alors que cela n'est a priori pas possible, vu que VBScript n'a pas la possibilité de traiter les séquences ANSI.

 

L'astuce consiste à créer une page blanche avec Internet Explorer (en abrégé ie) puis à écrire dedans. En utilisant les tags HTML, on peut donc programmer tous les effets souhaités.

 

Cliquer ici pour ouvrir une nouvelle fenêtre et voir le source du script write_to_ie.vbs avec ses lignes numérotées.

Cliquer pour télécharger le source (clic droit > enregistrer la cible du lien sous).

 

Explications :

 

Ligne 15

Toutes les variables doivent être dimensionnées.

 

Lignes 17 à 22

Déclaration des variables et constantes.

 

Lignes 27 à 35

Création d'une instance de ie avec quelques paramètres de customisation.

 

Lignes 38 et 39

Cette boucle permet d'attendre que ie ait terminé son initialisation.

 

Lignes 42 et 43

Création d'un objet document internet explorer et ouverture pour remplissage.

 

Lignes 45 et 46

Définition des paramètres de couleur.

 

Ligne 47

Récupération du nom de l'ordinateur local.

 

Lignes 50 à 58

Création de la page HTML. Si on ne parle pas couramment HTML, on peut aussi créer la page avec un éditeur et puis copier/coller le source HTML généré.

 

Lignes 63 à 67

Création d'un disconnected recordset et ouverture de la base. Pour tout savoir sur les recordsets, c'est par ici.

 

Lignes 70 à 73

Connexion à WMI et requête pour récupérer la liste des services de l'ordinateur local (à titre d'exemple).

 

Lignes 75 à 81

On remplit la base du recordset avec les données issues de la requête.

 

Ligne 84

La base est complète, on demande à l'objet recordset d'appliquer sa méthode de tri (effectué en mémoire). Pour tout savoir sur les tris, c'est par ici.

 

Ligne 90

On positionne le pointeur de la base au début de celle-ci.

 

Lignes 92 à 114

Boucle d'écriture des données dans la page HTML. On n'effectue pas de lecture car l'instruction DataList.Fields.Item("ServiceName") contient automatiquement la donnée de la base référencée par son nom : ici ServiceName, défini ligne 64 et chargé ligne 77.

 

Ligne 99

On change la couleur de l'affichage si le service est stoppé.

 

Lignes 100 et 103

On incrémente deux compteurs pour l'affichage de pied de page aux fins de statistiques.

 

Ligne 117

Récupération du nom du moteur de script et de sa version (pour info).

 

Lignes 118 à 128

Construction du pied de page.

 

Ligne 129

Fermeture du document. C'est à ce moment que la page est affichée sur l'écran.

 

Voilà. L'essayer, c'est l'adopter.