Kurzhilfe zum Programm AUTOPLAY

Das Programm AUTOPLAY soll es ermöglichen, andere Programme von einem Wechselmedium (z.B. CD/DVD oder USB) aus zu starten. Hierfür ist es jedoch erforderlich, zuvor dieses Pro­gramm entsprechend zu konfigurieren.

Damit das Programm AUTOPLAY seine volle Funktionalität entfalten kann, ist es unbedingt er­forderlich, dass die Wechselmedien von denen aus dieses Programm gestartet werden soll auch die so genannte Autorun-Funktion von Windows unterstützen. Anderenfalls müsste das Pro­gramm AUTOPLAY "von Hand" gestartet werden.

Schnellzugriff

Allgemeine Parameter: title, welcome, background, icon, alignment, fontname, fontsize, fontcolor, fontbold, border buttonsize

Button Parameter: label, tooltip, image, execute, parameter, alignment, afterwards

Vordefinierte Tastenkombinationen

F1 Anzeige der integrierten Programmhilfe.
ALT + LEER Das Systemmenü des Hauptfensters öffnen.
ALT + F4 Das Programm AUTOPLAY beenden.

Konfigurieren des automatischen Programmstarts

Zu Konfiguration des automatischen Programmstarts ist es notwendig, dass im Root-Verzeichnis des Wechselmediums die Datei autorun.inf vorhanden ist. Gegebenfalls muss diese Datei erst noch erstellt werden. Auf jeden Fall sollte die Datei autorun.inf vernünftig konfiguriert sein, damit das Programm AUTOPLAY auch automatisch starten kann. Die folgende Kode­sequenz zeigt beispielhaft den minimalen Inhalt der Datei autorun.inf:

[autorun]
label  = USB Stick
icon   = autoplay.exe
action = USB Stick starten...
open   = autoplay.exe

Wurde die Datei autorun.inf nun angepasst und gespeichert, sollte im nächsten Schritt das Programm AUTOPLAY (die Dateien autoplay.exe und autoplay.ini) ebenfalls auf das Wechsel­medium kopiert werden. Anschießend erfolg noch eine Anpassung der Konfigurationsdatei des Programms AUTOPLAY entsprechend den gewünschten Aufgaben. Die Bedeutung der einzelnen Parameter der Datei autoplay.ini werden nun anschließend näher erläutert.

Aufbau der Programmkonfigurationsdatei

Die Konfigurationsdatei autoplay.ini besteht – wie auch jede andere typische INI-Datei für Win­dows-Programme – aus verschiedenen Parametergruppen; den so genannten Sections. Grund­sätz­lich unterscheidet die hier vorgestellte Konfigurationsdatei zwischen nur zwei verschiedenen Arten von Parametergruppen; der Gruppe der allgemeinen Einstellungen sowie den Gruppen zur Konfiguration der einzelnen Buttons.

Parametergruppe für allgemeine Einstellungen

Die Einstellungen der Parameter zur Steuerung des allgemeinen Programmverhaltens werden in der Gruppe [application] vorgenommen. Somit betreffen alle hier angegebenen Werte das ge­samte Programm AUTOPLAY. Zu beachten ist hierbei, dass die einzelnen Parameter zum Teil von einander abhängen bzw. sich gegenseitig beeinflussen.

Parameter: title

Dieser optionale Parameter kann verwendet werden, um den Titel des Programms AUTOPLAY anzupassen. Wird dieser Parameter nicht verwendet, wird automatisch der Standardtitel "Auto­play" als Fenstertitel verwendet.

Beispiel: title="Hello, World!"
 ↑ 

Parameter: welcome

Dieser optionale Parameter kann verwendet werden, um einen entsprechenden Willkommenstext anzeigen zu lassen. Dieser Text wird dann im oberen Teil des Programmfensters mittig aus­ge­richtet dargestellt. Wird dieser Parameter weggelassen, wird kein Willkommenstext angezeigt.

Beispiel: welcome="Welcome to program Autoplay!"
 ↑ 

Parameter: background

Dieser optionale Parameter kann dazu verwendet werden, um das Programmfenster mit einem Hintergrundbild anzuhübschen. Als Wert für diesen Parameter wird der Dateiname einer Bitmap­datei (.BMP) verwendet. Dieser Dateiname kann auch einen Pfad zu einem Unterverzeichnis auf dem Wechselmedium enthalten. Doch darf dieser Dateipfad auf keinen Fall einen führenden Backslash ("\") enthalten!

Weiterhin steuert die Größe des verwendeten Bildes die Größe des gesamten Programmfensters. Das heißt, je größer das Bild desto größer ist auch das Programmfenster. Sollte die verwendete Bitmap jedoch zu klein sein, dann wird das angezeigte Hintergrundbild entsprechend gestreckt, denn die minimale Fenstergröße ist auf 300x200 Pixel festgelegt! Sollte dieser Parameter nicht verwendet werden, dann wird statt eines Bildes ein weißer Hintergrund angezeigt. Außerdem wird das Fenster in seiner Standardgröße angezeigt.

Beispiel: background=autoplay\background.bmp

Alternativ zur Verwendung eines einzelnen Hintergrundbildes kann auch ein Verzeichnis mit mehreren Bitmaps (.BMP) angegeben werden, deren Anzeige dann zufällig erfolgt. Hierfür wird dann als Wert des Parameters das Schlüsselwort "RANDOM" gefolgt vom Pfad des Unterver­zeichnisses mit den alternativen Hintergründen angegeben. Wie oben bereits erwähnt darf auch diese Pfadangabe keinen führenden Backslash ("\") enthalten. Weiterhin müssen beide Bestand­teile dieses Parameters durch ein Komma (",") voneinander getrennt werden!

Beispiel: background=RANDOM,autoplay\backgrounds
 ↑ 

Parameter: icon

Dieser optionale Parameter kann verwendet werden, um das Symbol des Programmfensters (Symbol des Systemmenüs in der linken oberen Ecke des Hauptfensters) zu ändern. Als Wert für diesen Parameter wird der Name einer Icon-Datei (.ICO) angegeben, die hierfür verwendet werden soll. Dieser Dateiname kann auch einen Pfad zu einem Unterverzeichnis auf dem Wechselmedium ent­halten. Doch darf dieser Dateipfad auf keinen Fall einen führenden Back­slash ("\") enthalten! Sollte dieser Parameter nicht verwendet werden, dann wird stattdessen das Standard-Icon des Pro­gramms verwendet. Darüber hinaus kann das Icon des Programmfensters auch explizit ausgeschaltet werden. Hierfür wird dann statt des Dateinamens das Schlüsselwort "OFF" als Parameterwert angegeben.

Beispiel: icon=OFF
 ↑ 

Parameter: alignment

Dieser optionale Parameter steuert die vertikale und horizontale Ausrichtung der Buttons inner­halb des Programmfensters. Der Wert dieses Parameters ist als "<vertikal>,<horizontal>" ko­diert. Die folgende Tabelle zeigt die möglichen und somit erlaubten Kombinationen der für diesen Parameter unterstützen Schlüsselwörter.

TOP,LEFT TOP,CENTER TOP,RIGHT
CENTER,LEFT CENTER,CENTER CENTER,RIGHT
BOTTOM,LEFT BOTTOM,CENTER BOTTOM,RIGHT

Wird dieser Parameter nicht angegeben, erfolgt die Ausrichtung der einzelnen Buttons vertikal und horizontal zentriert.

Beispiel: alignment=TOP,RIGHT
 ↑ 

Parameter: fontname

Dieser optionale Parameter erlaubt die Anpassung der Schriftart des Programms. Das betrifft dann im Einzelnen den Willkommenstext sowie alle Button-Texte. Wird dieser Parameter nicht verwendet, wird die Standardschriftart "Times New Roman" verwendet.

Beispiel: fontname=MS Sans Serif
 ↑ 

Parameter: fontsize

Dieser optionale Parameter erlaubt die Anpassung der Schriftgröße des Programms. Das betrifft dann im Einzelnen den Willkommenstext sowie alle Button-Texte. Wird dieser Parameter nicht verwendet, wird die Standardschriftgröße "11" verwendet.

Beispiel: fontsize=6
 ↑ 

Parameter: fontcolor

Dieser optionale Parameter erlaubt die Änderung der Schriftfarbe des Programms. Das betrifft dann im Einzelnen den Willkommenstext sowie alle Button-Texte. Der Wert dieses Parameters kann eines vordefinierten der Schlüsselwörter "BLACK", "WHITE", "GRAY", "BLUE", "RED", "GREEN" oder "YELLOW" annehmen. Falls diese vorgegebenen Farben nicht gefallen sollten, ist auch die Angabe eines RGB-Farbwerts möglich. Hierbei erfolgt dann die Kodierung der zu verwendenden Farbe durch Angabe von "RGB(<rot>, <grün>, <blau>)". Wird dieser Parameter nicht angegeben, wird als Standardschriftfarbe "BLACK" verwendet.

Beispiel: fontcolor=RGB(255,222,76)
 ↑ 

Parameter: fontbold

Dieser optionale Parameter erlaubt die Änderung der Schriftbreite des Programms auf "FETT". Das betrifft dann im Einzelnen den Willkommenstext sowie alle Button-Texte. Der Wert dieses Parameters ist ein typischer boolscher Wert (Ja/Nein) und kann eines der vordefinierten Schlüsselwörter "TRUE", "YES" oder "1" annehmen. Wird stattdessen ein anderer Wert ange­geben, wird dies automatisch als "FALSE" interpretiert und der voreingestellte Standardwert verwendet. Der Standardwert für die verwendende Schriftbreite ist "NORMAL", also nicht fett.

Beispiel: fontbold=yes
 ↑ 

Parameter: border

Dieser optionale Parameter ermöglicht die Anpassung des Fensterrahmens des Programms. Der Wert dieses Parameters kann eines vordefinierten der Schlüsselwörter "TOOL", "THICK", "THIN" oder "NONE" annehmen. Wird dieser Parameter nicht angegeben, wird als Standard­wert der Rahmen eines Dialogfensters verwendet.

Beispiel: border=tool
 ↑ 

Parameter: buttonsize

Dieser optionale Parameter erlaubt die Anpassung der Größe der einzelnen Buttons des Pro­gramms. Dabei wird der Wert dieses Parameters in der Form "<Breite>,<Höhe>" kodierter. Wird dieser Parameter nicht angegeben, wird die Button-Größe automatisch auf einen Wert von 200x42 Pixel voreingestellt.

Beispiel: buttonsize=300,55
 ↑ 

Parametergruppen zur Konfiguration einzelner Buttons

Zur Konfiguration einzelner Buttons werden in der Konfigurationsdatei autoplay.ini so ge­nannte Button-Sections – also Parametergruppen für einzelne Buttons – eingetragen. Hierbei gilt dem Section-Namen besonderes Augenmerk! Denn dieser Namen wird aus dem Präfix "button", der von einer Nummer gefolgt wird, gebildet. Somit ergibt sich [button<n>] als allgemeiner Ausdruck für einzelnen Button-Sections.

Die Nummerierung der verschiedenen Button-Sections beginnt bei Null ("0") und wird für jede weitere Gruppe jeweils um Eins ("1") erhöht. Das bedeutet, wenn z.B. insgesamt drei Buttons in der Konfiguration eingetragen werden sollen, dann werden auch drei Button-Sections erforder­lich: eine mit dem Namen [BUTTON0], eine mit dem Namen [BUTTON1] und eine weitere mit dem Namen [BUTTON2]. Achtung: Wird die lineare Nummerierung der Button-Sections unterbrochen, kommt es zu unvorhersehbarem Programmverhalten! Somit gilt; falls Teile der konfigurierten Buttons fehlen oder nicht richtig dargestellt werden sollten, dann sollte zuerst die Numme­rierung der einzelnen Button-Sections auf entsprechende Fehler hin untersucht werden.

Parameter: label

Dieser optionale Parameter enthält den Text eines Buttons. Wird hier kein Text angegeben, dann wird der entsprechende Button auch keinen Text enthalten.

Beispiel: label="Start a program..."
 ↑ 

Parameter: tooltip

Dieser optionale Parameter kann verwendet werden, um einen kleinen Hilfetext – den so ge­nann­ten Tooltip – anzeigen zu lassen, wenn der Mauszeiger für eine kurze Zeit auf dem entsprechen­den Button verweilt.

Beispiel: tooltip="This button starts a program!"
 ↑ 

Parameter: image

Dieser optionale Parameter kann verwendet werden, um den jeweiligen Button durch ein Bild anzuhübschen. Als Wert für diesen Parameter wird der Dateiname einer Bitmap­datei (.BMP) verwendet. Dieser Dateiname kann auch einen Pfad zu einem Unterverzeichnis auf dem Wech­selmedium enthalten. Doch darf dieser Dateipfad auf keinen Fall einen führenden Backslash ("\") enthalten! Konnte die angegebene Datei geladen werden, wird das Bild auf der rechten Seite des Buttons angezeigt. Wurde dieser Parameter nicht angegeben oder sollte die Bilddatei nicht vor­handen sein, wird kein Bild auf dem Button angezeigt.

Darüber hinaus ist zu beachten, dass die Anzeigegröße des Bildes von der eingestellten Höhe des Buttons abhängt. Das heißt, je höher der Button ist, umso größer ist das angezeigt Bild. Allge­mein gilt: Das Bild wird ohne Ausrichtung und auch ohne Streckung transparent über den Button gelegt. Dabei wird die Transparentfarbe durch die Farbe des ersten Pixels der Bitmap (Pixel der linken oberen Ecke) definiert!

Beispiel: image=autoplay\execute.bmp
 ↑ 

Parameter: execute

Dieser optionale Parameter kann verwendet werden, um die Aktion des Buttons festzulegen. Normalerweise handelt es sich bei einer solchen Aktion um das Starten eines Programms. Aus diesem Grund sollte hier auch der Dateiname der ausführbaren Datei angegeben werden. Dieser Dateiname kann auch einen Pfad zu einem Unterverzeichnis auf dem Wechselmedium enthalten. Doch darf dieser Dateipfad auf keinen Fall einen führenden Backslash ("\") enthalten!

Hier ist aber nicht nur die Verwendung von EXE-Dateien möglich, sondern wird auch die An­gabe von z.B. TXT-, PDF- oder auch HTML-Dateien unterstützt. Allgemein gilt; solange auf dem Zielsystem ein entsprechender Handler für den angegebenen Dateityp registriert ist, kann die in diesem Parameter eingetragene Datei auch ordnungsgemäß angezeigt werden.

Darüber hinaus können hier auch die vordefinierten Schlüsselwörter "BROWSE" oder "QUIT" bzw. "EXIT" angegeben werden. Dabei dient das Schlüsselwort "BROWSE" zum Starten des Windows-Explorers im aktuellen Programmverzeichnis und die beiden Schlüsselwörter "QUIT" und "EXIT" werden zum Beenden des Programms AUTOPLAY eingesetzt.

Beispiel: execute=procs\setup.exe
 ↑ 

Parameter: parameter

Soll an das zu startende Programm eine Liste von Einstellungen übergeben werden, dann kann hierfür dieser optionale Parameter verwendet werden. Zu beachten ist jedoch, dass die Liste der verwendeten Einstellung stark vom jeweiligen Programm abhängt und somit den Regeln des entsprechenden Programms folgen muss. Wird dieser Parameter nicht verwendet, ist die an das Programm übergebene Parameterliste leer.

Beispiel: parameter=-t -f test.dat
 ↑ 

Parameter: alignment

Dieser optionale Parameter kann verwendet werden, um die horizontale Ausrichtung des Button-Textes zu steuern. Hierfür können die vordefinierten Schlüsselwörter "LEFT", "CENTER" und "RIGHT" verwendet werden. Wird dieser Parameter nicht angegeben, wird der Text des Buttons automatisch zentriert ausgerichtet.

Beispiel: alignment=RIGHT
 ↑ 

Parameter: afterwards

Manchmal kann es sinnvoll sein, nach der Beendigung einer Aktion, noch weitere Aktionen auszuführen. Zu diesem Zweck kann dieser optionale Parameter verwendet werden. Um nun die nachfolgende Aktion eines Buttons zu definieren, wird hier ganz einfach der Name der nächsten Button-Section eingetragen. Achtung: Bei falscher Anwendung dieses Parameters besteht die Gefahr einer Rekursion! Daher ist zur Lösung dieses Problems im Programm AUTOPLAY ein entsprechender Sicherheitsmechanismus eingebaut, der die Anzahl der möglichen verschachtelten Aufrufe auf die Anzahl der konfigurierten Button-Sections beschränkt. Werden also in der Datei autoplay.ini z.B. insgesamt drei Buttons konfiguriert, dann werden auch nur maximal drei Nachfolgeaktionen ausgeführt.

Beispiel: afterwards=button1
 ↑ 

Beispielkonfiguration

Angenommen, das Programm AUTOPLAY soll so konfiguriert werden, dass die beiden Program­me SETUP1.EXE und SETUP2.EXE nacheinander ausgeführt werden. Weiterhin soll ange­nommen werden, dass sich die beiden Programme jeweils in den Unterverzeichnissen SETUP1 und SETUP2 des Hautverzeichnisses SETUPS befinden. Darüber hinaus soll noch eine entspre­chende Textdatei aufgerufen werden. Außerdem soll das Programm AUTOPLAY über einen Will­kommenstext und ein Hintergrundbild verfügen. Der EXIT-Button wird so konfiguriert, dass er ein entsprechendes Bild anzeigt. Unter den zuvor beschriebenen Voraussetzungen könnte dann die Konfiguration des Programms AUTOPLAY wie folgt aussehen:

;;
;; AUTOPLAY sample configuration file.
;;

[application]
title      = "Setup via program "Autoplay""
welcome    = "Welcome to your own setup!"
background = autoplay\background.bmp
icon       = OFF
alignment  = BOTTOM,CENTER
fontname   = MS Sans Serif
fontsize   = 8
fontcolor  = BLUE
fontbold   = YES
border     = TOOL
buttonsize = 300,55

[button0]
label      = "Start setup 1"
tooltip    = "Starts the first setup."
image      =
execute    = setups\setup1\setup1.exe
parameter  =
alignment  = RIGHT
afterwards = BUTTON1

[button1]
label      = "Start setup 2"
tooltip    = "Starts the second setup."
image      =
execute    = setups\setup2\setup2.exe
parameter  =
alignment  = RIGHT
afterwards =

[button2]
label      = "Show README.TXT file"
tooltip    = "Runs an external programm to show readme file content."
image      =
execute    = setups\readme.txt
parameter  =
alignment  = RIGHT
afterwards =

[button3]
label      = "Browse removable disk"
tooltip    = "Runs the Windows Explorer within current directory."
image      =
execute    = BROWSE
parameter  =
alignment  = RIGHT
afterwards =

[button4]
label      = "Quit"
tooltip    = "Exits this setup program."
image      = autoplay\exit.bmp
execute    = QUIT
parameter  =
alignment  = RIGHT
afterwards =

;; EOF
 ↑