ERCC (http://eriedel.info)

VTOOL


Übersicht

VTool ist eine Programmcode-Komponente nach dem Component-Object-Model-Standard (COM). Genauer gesagt, handelt es sich bei VTool um einen COM-Server, also ein Laufzeitmodul, das einer anderen COM-unterstützenden Anwendung (Client) bestimmte Objekte und die damit verbundene Funktionalität anbieten kann.

VTool wurde primär für die Verwendung mit Windows Script Host und Visual Basic Script (WSH/VBS) entwickelt. Der Grund liegt einfach darin, dass diese Scripting-Umgebung vielseitig, leistungsfähig und auf allen Windows-Systemen verfügbar ist, zudem ist eben auch eine Erweiterbarkeit durch COM-Module gegeben.

In Scripts werden oft COM-Module benutzt, beispielsweise das FileSystemObject (scrrun.dll) oder die Shell-Komponente (shell32.dll). Sie machen dem Script zusätzliche Funktionen verfügbar. Das Script (bzw. allgemein der COM-Client) bedient sich dieser Komponenten, indem er eine Instanz eines der dort definierten Objekte (Klassen) erzeugt:

Set obj = CreateObject("Scripting.FileSystemObject")
Set obj = obj.CreateTextFile("test.txt", True)
obj.Close

In gleicher Weise können die Objekte von VTool verwendet werden, z.B.:

Set obj = CreateObject("VTool.Window")
obj.Create "Textinfo-Fenster"
obj.WriteLine "Beispieltext"
obj.Remove

Damit dies so einfach gelingt, muss VTool – wie alle COM-Server – bei Installation einmal registriert werden (s.u.).


Objekte

VTool war eigentlich nicht als allgemeine Toolbox oder Library gedacht. Viele Objekte und Funktionen haben sich einfach aus praktischen Bedarfsfällen ergeben. So wollte ich mal in einem Script einen Registry-Wert lesen, der sich als abhängig von der Windows-Version erwies (es ging wohl um den Standard-Browser). Daher sind Versionsinformationen nun als Objekt verfügbar. Auf diese Weise hat der Umfang mit der Zeit etwas zugenommen.

Einen Hauptgegenstand bilden diverse Elemente zur Benutzer-Interaktion, die in einem Script sonst nicht zur Verfügung stünden. Beispiel:

Set obj = CreateObject("VTool.DriveList")
drv = obj.Selection("e:", "Laufwerksauswahl")
Abb. VTool-Dialogfenster (Laufwerksauswahl)

WSH/VBS fehlt leider auch die Möglichkeit, API-Funktionen von Windows aufzurufen. (Diese Einschränkung wurde mit DynaLib überwunden.) Einige Objektmethoden von VTool stellen deshalb solche Aufrufe bereit, um so beispielsweise die Verarbeitung von INI-Dateien mittels Script zu unterstützen:

Set obj = CreateObject("VTool.Profile")
obj.File = "test.ini"
var = obj.GetValue("Area51", "Roswell")

bestimmte Systemdaten zu erhalten:

Set obj = CreateObject("VTool.System")
MsgBox obj.VolumeGetGUID("C:\"), , "GUID für Laufwerk C:"

oder wie erwähnt die Windows-Version zu ermitteln:

Set obj = CreateObject("VTool.OsVersion")
var = "Windows-Version: " & obj.Major & "." & obj.Minor & "." & obj.Build
WScript.Echo var

Die folgende Tabelle listet alle Objekte der aktuellen Version von VTool in alphabetischer Reihenfolge auf.

Objekt Funktionalität
Aux verschiedene Hilfsfunktionen
BinFile binärer Lese-/Schreibzugriff auf Dateien
CheckList Auswahlliste (Mehrfachauswahl mit Checkboxen)
Clipboard Textaustausch mit der Zwischenablage
Clock Timer
CWindow Konsolenfenster für Textein-/ausgaben
DateTime einige Funktionen zur Systemzeit
DriveList Auswahlliste mit verfügbaren Laufwerken
DTPick Dialog zur Datums- oder Zeitauswahl
EventLog Aufzeichnung von Ereignissen
File einige Dateifunktionen
FileSelection Dialog zur Dateiauswahl
List Auswahlliste (Einzel- oder Mehrfachauswahl)
Me VTool-Info
MessageBox Windows-Mitteilungsdialog
MInputBox Dialog für (mehrere) Benutzereingaben
Noise Tonausgabe und Klangwiedergabe
Notice Benachrichtigungen in der Taskleiste
OsVersion Windows-Versionsdaten
Profile Lesen/Schreiben von INI-Dateien
ProgressDialog Shell-Dialog mit Fortschrittsanzeige
ProgressWindow Fenster mit Fortschrittsanzeige
Registry Suche nach Elementen der Windows-Registratur
System Zugriff auf einige Systeminformationen
TaskDialog Windows-Task-Dialog
Window, Window2 Fenster zur laufenden Textausgabe

Die meisten Dialoge werden modal angezeigt. Die Fenster ProgressDialog, ProgressWindow, Window und Window2 sind nichtmodal und können der Anzeige von Informationen während längerer Prozesse dienen.

Die Hilfedatei VTOOL.CHM enthält ausführliche Beschreibungen.


Verwendung

Die Objekte von VTool sind einfach konstruiert und daher nicht schwierig zu verwenden. Ihre Erzeugung und abschließende Freigabe folgt dem üblichen Schema:

' Objekt wird erzeugt
Set obj = CreateObject("VTool.Noise")
' Objekt (obj) wird verwendet
obj.PlayFile "tada.wav"
' Objekt wird freigegeben (gelöscht)
Set obj = Nothing

Natürlich sind einige Teile anspruchsvoller und verlangen eine gute Kenntnis der technischen Grundlagen und des Betriebssystems.


Lizenz/Hinweise

VTool wird als Freeware und »so wie es ist« zur Verfügung gestellt. Die Überlassung erfolgt also unentgeltlich und für beliebige Verwendungszwecke, aber auch ohne jede Gewährleistung oder Haftung. Verbesserungsvorschläge sind natürlich willkommen.
Beachten Sie bitte, dass jede Benutzung von VTool und den mitgelieferten Beispielen auf eigenes Risiko erfolgt!


Download, Installation

Die Datei  vtool.zip enthält VTOOL.EXE und VTOOLC.EXE zusammen mit der Beschreibung (VTOOL_DE.CHM sowie der englischen Version VTOOL.CHM).
Versionsstand: 3.5.1, Feb. 2024 (vtool.exe), 2.8.0, Jan. 2020 (vtoolc.exe).

Zur Installation genügt es, den Inhalt der Archivdatei in ein Verzeichnis Ihrer Wahl zu entpacken.
Als COM-Modul muss VTool dann einmal registriert werden. Dies ist ein ganz einfacher Vorgang und in der Hilfedatei beschrieben. Beachten Sie bitte auch die übrigen Hinweise der Programmdokumentation.

Die Datei  samples.zip (Okt. 2020) enthält einige VBS-Beispiele, die die Auswertung von Windows-Versionsdaten, den Shell-Dialog zur Verzeichnisauswahl, Dateienvergleich sowie die Änderung von Dateizeiten zum Gegenstand haben.

VTool erfordert die VB6-Laufzeitdateien, die normalerweise in Windows enthalten, zudem aber auch als Download verfügbar sind.
 

http://eriedel.info/files/vtool/vtool.html


ERCC (http://eriedel.info)  2013 - 2024   © Erhard Riedel Computer Consulting (ERCC)

 

Link zur ERCC-Hauptseite   Link zur Info-Übersicht