leistungen  •  referenzen  •  download
Einführung

Das Programm FBlockManager ist während meiner Tätigkeit bei BOSCH Car Multimedia entstanden und dient dort der Verwaltung mehrerer Test­applikationen. Zugegeben, dieses Programm hat für die Allgemeinheit keinen wirklichen Nutzen. Dennoch zeigt es einige Techniken und Tricks, wie man verschieden technische Probleme mithilfe von .NET und C# lösen kann.

Beschreibung

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 imple­mentiert werden muss. Somit erfolgt jegliche Kommunikation zwischen dem FBlockManager und dem gesteuerten Programm über diese Schnitt­stelle. 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 Bedeu­tung 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 Standard­ein­stellung 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.

Viel Spaß beim analysieren und verwenden des Codes…

datenschutzerklärung  •  kontakt  •  impressum