vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB4, VB5, VB612.01.05
Parameter einer Anwendung ermitteln

Ermitteln der Parameter einer Anwendung via VB-Skript

Autor:   Hanno KolvenbachBewertung:     [ Jetzt bewerten ]Views:  14.321 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 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)
 

Dieser Tipp wurde bereits 14.321 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel