ERCC (http://eriedel.info)

VTOOL: Beschreibung


Übersicht

VTool (VTOOL.EXE) ist eine Programmcode-Komponente nach dem Component-Object-Model-Standard (COM), manchmal auch als »ActiveX« bezeichnet. 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.).

Die aktuelle Version von VTool ist 1.4, sie weist gegenüber der Vorversion 1.3.2 eine Vielzahl von Verbesserungen und Erweiterungen auf.


Objekte

VTool war eigentlich nicht als allgemeine Toolbox oder Library gedacht, die Objekte und Funktionen haben sich meist 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.

In der Hauptsache geht es weiterhin um einige Elemente zur Benutzer-Interaktion, die in einem Script sonst nicht zur Verfügung stünden. Beispiel:

Set obj = CreateObject("vtool.DriveList")
drv = obj.Selection("d:", "Laufwerksauswahl")
Abb. Dialogfenster (Laufwerksauswahl)

WSH/VBS fehlt leider auch die Möglichkeit, API-Funktionen von Windows aufzurufen. 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
CheckList Auswahlliste (Mehrfachauswahl mit Checkboxen)
Clipboard Textaustausch mit der Zwischenablage
DriveList Auswahlliste mit verfügbaren Laufwerken
EventLog Aufzeichnung von Ereignissen
List Auswahlliste (Einzel- oder Mehrfachauswahl)
Me VTool-Info
Noise Tonausgabe und Klangwiedergabe
OsVersion Windows-Versionsdaten
Profile Lesen/Schreiben von INI-Dateien
System Zugriff auf einige Systeminformationen
Window, Window2 Fenster zur laufenden Textausgabe

Die Auswahllisten werden in modalen Dialogfenstern angezeigt. Die Window(2)-Fenster sind nichtmodal und können der Anzeige von Textinformationen 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

Bei den eingesetzten Daten ist natürlich auf passende Werte und Typen zu achten. Die Variablen mancher Clients wie VBScript sind typenlos, während VTools Objekteigenschaften und Methodenparameter jeweils bestimmte Datentypen darstellen. Eventuelle Unverträglichkeiten lassen sich jedoch durch explizite Konvertierungen vermeiden.


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.


Download, Installation

Die Datei  vtool.zip enthält VTOOL.EXE zusammen mit der Beschreibung (VTOOL.CHM).
Versionsstand: 1.4.0, Mai 2017.

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, was in aller Regel Administrationsrechte erfordert. Die empfohlene Vorgehensweise besteht darin, ein Konsolenfenster (»Eingabeaufforderung«) als Administrator zu öffnen und dort – nach Wechsel in das entsprechende Verzeichnis – den Befehl

vtool.exe /regserver

einzugeben.

Soll die Installation als Update einer älteren Version erfolgen, so gilt die Empfehlung, diese vorher zu deregistrieren. Die Vorgehensweise ist analog zur Registrierung, der Befehl lautet jedoch:

vtool.exe /unregserver

Die VTool-Dateien können danach gelöscht oder einfach mit den neuen Dateien überschrieben werden. Anschließend ist die aktuelle Version zu registrieren.

Beachten Sie bitte auch die Hinweise der Programmdokumentation.

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 - 2017   © Erhard Riedel Computer Consulting (ERCC)

 

Link zur ERCC-Hauptseite   Link zur Info-Übersicht