Kernaufgabe des Programms FBlockManager ist es, externen
Programme, die sowohl in einer DLL als auch in einer EXE vorliegen können,
zu starten und dann in geringem Umfang zu steuern. Neben dieser Hauptfunktionalität
gibt es viele weitere Features, die von diesem Programm umgesetzt werden, wie folgende
kleine Aufstellung zeigt.
- Verarbeitung von Parametern der Kommandozeile.
- Starten als Windows–Programm oder auf der Kommandozeile.
- Verwendung einer virtuellen Liste mit der Möglichkeit zur Filterung.
- Lesen und Speichern von Konfigurationen via XML–Datei.
- Zuordnung bestimmter Dateitypen zu einem Programm.
- Erzeugen und Löschen von Verknüpfungen.
- Und vieles mehr…
Starten externer Programme
Grundsätzlich besteht in .NET kein Unterschied zwischen einem Assembly in DLL–Form
oder in Form einer EXE ausgenommen, dass ein ausführbares Programm über
eine zusätzlich Main–Funktion verfügt. Dieser Umstand wurde beim
Programm FBlockManager ausgenutzt.
Um nun aber auf ein externes Programm zugreifen zu können, wird ein spezielles
Interface verwendet, das von dem betreffenden Programm implementiert werden
muss. Somit erfolgt jegliche Kommunikation zwischen dem FBlockManager
und dem gesteuerten Programm über diese Schnittstelle. Dabei verläuft
diese Kommunikation nicht einseitig, wie man vielleicht vermuten könnte. Nein,
das verwaltete Programm ist ebenfalls in der Lage, zum Beispiel Statusänderungen
oder Meldungen an den FBlockManager zu schicken. Dieses
Interface kann natürlich nach belieben erweitert und/oder geändert werden.
Neben den hier bereitgestellten Quellen des FBlockManagers,
die für einen Softwareentwickler gut zu lesen seinen sollten, können hier
auch die fertig kompilierten Binärdateien kopiert werden. Da die entsprechende
ZIP–Datei mehr als eine Datei enthält, erscheint eine kurze Beschreibung
der Bedeutung der einzelnen Dateien eine sinnvolle Sache zu sein.
- fblock.manager.exe
-
Das Programm FBlockManager.
- fblock.library.dll
-
Die Schnittstelle zur Kommunikation zwischen dem FBlockManager
und seinen externen Anwendungen.
- fblock.manager.txt
-
Die Auflistung aller verfügbaren Kommandozeilenparameter.
- FBlockImplTest1.dll
-
Ein Testprogramm in Form einer DLL.
- FBlockImplTest2.exe
-
Ein Testprogramm in Form einer EXE.
- FBlockManager_Development_Guide.pdf
-
Ein Goody für all jene, die gern mehr über das Gesamtverhalten des Programms
erfahren möchten.
- Interop.IWshRuntimeLibrary.dll
-
Diese DLL wird beim kompilieren automatisch erstellt und dient dem
FBlockManager zur Erzeugung der Verknüpfungen für Desktop und
SendTo–Menü sowie der Zuordnung der Dateitypen zum Programm.
Erste Schritte
Bevor es so richtig losgehen kann, muss man natürlich erst einmal zumindest
ein externes Programm in den FBlockManager importieren.
Hierfür öffnet man direkt nach dem Programmstart das Menü „File
→ Import“ und wählt darin entweder das Untermenü „File(s)…“
oder „Folder…“ aus.
Abhängig von der zuvor getroffenen Auswahl öffnet sich nun entweder der
Dialog „Open“ oder aber der Dialog „Browse For Folder“.
In der Standardeinstellung des Programms sollten sich dennoch beide Dialoge
im Verzeichnis öffnen, in dem sich auch das Programm FBlockManager
befindet.
Im Falle der Auswahl des Menüs „File → Import → File(s)…“
sollte man im Dialog „Open“ die beiden Dateinamen FBlockImplTest1.dll
und FBlockImplTest2.exe selektieren und dann einfach den
Button zum Öffnen klicken. Nun sollten beide externen Programme geladen und
auch gestartet werden. Achtung: Das Programm, das sich in der DLL befindet,
wird versteckt gestartet! Um es anzuzeigen reicht ein Doppelklick auf das im Baum
dargestellte Symbol aus.
Im Falle der Auswahl des Menüs „File → Import → Folder…“
braucht man nur den Button „OK“ zu klicken und alle im Verzeichnis vorhandenen
DLL– und EXE–Dateien werden automatisch geladen. Achtung: Es
werden drei Warnungen im Meldungsfenster des FBlockManagers
angezeigt! Jedoch ist das absolut in Ordnung, denn weder die Datei
fblock.manager.exe noch die Datei fblock.library.dll
exportieren das nötige Interface. Das gilt ebenfalls für die Datei Interop.IWshRuntimeLibrary.dll
Entwicklungsumgebung
Der FBlockManager wurde mithilfe des Visual Studios 2008
entwickelt. Es ist aber auch möglich, das Projekt unter Visual Studio 2005
zu verwenden. Hierfür muss lediglich ein „Downgrade“ des 2008ter
Projektes durchgeführt werden.
Tipp: Ein entsprechendes Programm mit dem Namen Visual Studio 2008 to 2005 downgrade utility
kann aus dem Internet geladen werden.