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")

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.6.0, Aug. 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.

