Rularea aplicațiilor externe din scriptul vbscript, utilizând obiectul wshshell

Executarea aplicațiilor externe din scriptul VBScript, aplicând obiectul WshShell, Run (), AppActivate (), Metodele SendKeys ()

Aplicația este lansată utilizând un obiect WScript. Shell. Prima linie care funcționează cu acest obiect arată

set WshShell = WScript.CreateObject ("WScript.Shell")

Lansarea în sine se face folosind metoda Run:

WshShell. Executați "ApplicationName"

Parametrii opționali: numărul (1-10) - tipul de casetă de dialog, true / false - suspendă executarea scriptului până când programul își încheie activitatea sau nu.

De obicei, există două situații în care trebuie să rulați aplicații din script:

1) rulați utilitarele liniei de comandă (de exemplu, din Resource Kit) și trebuie să obținem ceea ce ei se întorc

2) rulați aplicația grafică și introduceți apăsările de la tastatură

Când executați utilitarul de linie de comandă, acordați atenție următoarelor:

o dacă trebuie să întoarcem un cod de eroare. facem acest lucru după cum urmează:

sReturn = WshShell.Run ("ping" "192.168.1.2", 1, TRUE)

trebuie să fie cuvântul cheie TRUE. altfel codul de returnare va fi întotdeauna 0;

o dacă doriți să obțineți ieșirea din utilitar, scrieți-o cu> la un fișier text, apoi deschideți-o cu ajutorul FSO. Descărcați o variabilă și ștergeți. Într-o variabilă, puteți căuta o valoare cu funcția inStr (nu a fost găsită - 0, găsită - valoare diferită de 0).

o dacă utilizați fișiere non-executabile, dar comenzile interpretului (DIR, CD, MD, etc.), atunci comanda de lansare ar trebui să arate ca

WshShell.Run ("% COMSPEC% / K dir")

% COMSPEC% - pentru a nu afla ce interpret de comandă funcționează, / K - astfel încât fereastra shell nu se închide.

o pentru a nu depinde de disponibilitatea utilităților pe computerul utilizatorului, este logic să se pună utilitățile utilizate pe server în rețea și să le acceseze prin numele rețelei;

o Pentru a porni utilitarul cu prioritatea modificată, puteți folosi comanda Start interpreter.

Când porniți o aplicație grafică, de obicei trebuie să treceți apăsările de la tastatură. În acest scop, utilizați metodele AppActivate (transferați focalizarea în fereastra aplicației) și SendKeys (introduceți intrările de la tastatură)

Metoda AppActivate vă permite să vă concentrați atenția asupra aplicației. Se trece titlul ferestrei aplicației:

Fii atent - titlul ferestrei poate fi diferit! Prin urmare, este mai bine să utilizați copiile centralizate ale aplicațiilor pe server. În plus, este recomandat să întrerupeți după pornirea aplicației și transferând focalizarea la ea, astfel încât operația să poată fi efectuată

Apoi, utilizați metoda SendKeys.

WshShell. SendKeys ("

Pentru o descriere detaliată a modului de trimitere a intrărilor de la o tastă specială folosind metoda SendKeys, consultați documentația.