2017-01-27 1 views
-1

Ich arbeite seit einigen Tagen an diesem Problem. Ich habe ein Skript, das ich ausführen muss, es wird ein CLI-Programm ausführen und Login-Informationen über Sendkeys eingeben. Dies wird OK, wenn die Option "Nur ausführen, wenn der Benutzer angemeldet ist" ausgeführt wird.Planen von VBS mit Shell und Sendkeys zum Ausführen, ob Benutzer angemeldet ist oder nicht

Sobald ich jedoch "Ausführen, ob Benutzer angemeldet ist oder nicht" auswählen, zeigt die geplante Aufgabe, dass es ausgeführt wurde, aber es ist nicht offensichtlich, dass dies der Fall ist. Wie anders darf ich das angehen?

Antwort

1

Sendkeys ist für die Interaktion mit der aktiven Benutzerschnittstelle programmiert. Wenn Ihr Computer also gesperrt ist, wird nichts unternommen, weil die Schnittstelle gesperrt ist.

Je nach CLI können bei der Initialisierung Parameter zur Anmeldung vorhanden sein.

die test.bat Datei Gegeben:

CD C:\Program Files\example\exampleclidirectory 
set user=username 
set pswd=password 
cmdline.exe -user %user% -password %pswd% 

Wenn Parameter keine Option sind, versuchen Sie Sendmessage/Postmessage und Find statt Sendkeys zu verwenden. Dies sollte in C# oder VB verfügbar sein. Aber ich würde C# vorschlagen.

Hier einige Ressourcen auf, dass:

http://www.codingvision.net/miscellaneous/c-send-text-to-notepad

I can't understand how to use SendMessage or PostMessage calls

Und das sollten Sie eine Methode zur Eingabe in den Daten, die Sie das Programm ins Rollen zu bringen benötigen geben.

+0

Danke für den Tipp. Die CLI nimmt tatsächlich Eingaben von einer Datei für den Benutzernamen/das Passwort. –

Verwandte Themen