Rubrik: Verschiedenes / Sonstiges | VB-Versionen: VB4, VB5, VB6 | 12.01.05 |
Parameter einer Anwendung ermitteln Ermitteln der Parameter einer Anwendung via VB-Skript | ||
Autor: Hanno Kolvenbach | Bewertung: | Views: 15.525 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Man kann mit dem WScript-Objekt die einer Anwendung übergebenen Parameter ermitteln. Das ist sinnvoll, um z.B. eine Anwendung nur im Hintergrund laufen zu lassen, oder um sie aus einem anderen Programm heraus direkt mit Werten zu "füttern", damit sie keine Eingaben vom Anwender erwartet.
Um die Argumente/Parameter zu bekommen kann man bspw. nachfolgendes VB-Skript verwenden.
Erstellen Sie eine Textdatei GetArgs.vbs mit folgendem Inhalt:
Dim listArgs Dim Arg Dim fso Dim WScriptShell Dim File Set fso = CreateObject("Scripting.FileSystemObject") Set WScriptShell = CreateObject("WScript.Shell") Set listArgs = WScript.Arguments Set File = fso.CreateTextFile("Args.txt") For Each Arg In listArgs File.WriteLine Arg Next WScriptShell.Run ("Anwendung.exe")
Damit ist die VB-Script-Datei fertig.
Jetzt wird die Visual Basic-Funktion erstellt, mit der man die Argumente lesen kann:
' 'Controls: List1, Listbox ' Verweise: Microsoft Scripting Runtime Private Sub Form_Load() Dim fso As New FileSystemObject Dim Stream As TextStream Dim ArgArray() As String Dim nCount As Long If fso.FileExists(App.Path & "\Args.txt") Then Set Stream = fso.OpenTextFile(App.Path & "\Args.txt") Do While Stream.AtEndOfStream = False DoEvents nCount = nCount + 1 ReDim Preserve ArgArray(nCount) ArgArray(nCount - 1) = Stream.ReadLine List1.AddItem ArgArray(nCount - 1) Loop Stream.Close fso.DeleteFile App.Path & "\Args.txt" End If End Sub
Zum Starten müssen Sie das Projekt kompilieren und als Anwendung.exe in das Verzeichnis kopieren, in dem die VB-Script-Datei "GetArgs.vb" liegt. Das Übergeben von Argumenten können Sie entweder mit:
Start\Ausführen...
In das erscheinende Textfeld geben Sie folgendes ein:
"\GetArgs.vbs DasErsteArgument "das zweite Argument"
("<Verzeichnis>" ist der Ordner, in dem die die Dateien Anwendung.exe und GetArgs.vbs liegen)
("DasErsteArgument" und "das zweite Argument" sind die Argumente, es können beliebig viele sein)
realisieren oder über eine Verknüpfung, indem Sie bei "Eigenschaften\Ziel" der Verknüpfung die Parameter/Argumente hinter dem Pfad eintragen.
z.B.:
"\GetArgs.vbs DasErsteArgument "das zweite Argument"
Es geht aber auch über die Eingabeaufforderung:
cd
(Mit cd wird das Verzeichnis gewechselt)
Call GetArgs.vbs DasErsteArgument "das zweite Argument"
(Damit startet man das Programm)
Zum Schluss noch ein kleiner VB-Code mit dem es ebenfalls geht:
' Verweise: Windows Script Host Object Model Dim WscriptShell As New WshShell WscriptShell.Run "C:\GetArgs.vbs DasErsteArgument " & Chr(34) & _ "Das zweite Argument" & Chr(34)
Chr(34) ist das Zeichen " (man muss es mit Chr(34) in den String einbinden, weil es bei VB das Ende oder den Anfang eines Strings darstellt)