Hallo,
die meißten von euch kennen wohl Blizzards Klassiker Diablo 2.
Also ich habe Diablo bei mir mehrmals installiert, um es auch mehrfach parallel auszuführen. Das klappt auch alles Prima.
Nun wollt ich mir einen kleinen Loader schreiben bei dem ich auswählen kann wie oft und in welchem Modus es gestartet werden soll.
Also ob im normalen Vollbildmodus oder im Fenstermodus.
Der Parameter "-skiptobnet" sorgt nur dafür das die Introvideos übersprungen werden und "-w" ist für den Fenstermodus.
Mein Problem:
Egal was ich auswähle, es wird nie mehr als eine Instanz von Diablo gestartet. Sprich: Es kommt nie zu einem zweiten ShellExecute.
Hier das Skript:
Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Skripts\diablo-starter.kxf
$Form1 = GUICreate("Diablo-Launcher",425, 90, 193, 115)
$Radio1 = GUICtrlCreateRadio("1x | ", 25, 30, 40, 17)
GUICtrlSetState(-1,$GUI_CHECKED)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Radio2 = GUICtrlCreateRadio("2x | ", 65, 30, 40, 17)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Radio3 = GUICtrlCreateRadio("3x | ", 105, 30, 40, 17)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Radio4 = GUICtrlCreateRadio("4x | ", 145, 30, 40, 17)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Radio5 = GUICtrlCreateRadio("5x", 185, 30, 40, 17)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$btn_normal = GUICtrlCreateButton("Normal", 240, 27, 75, 25, 0)
$btn_window = GUICtrlCreateButton("Window", 328,27, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $btn_normal
if $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_A\","open")
ExitLoop
ElseIf $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_B\","open")
ExitLoop
ElseIf $Radio3 And BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_C\","open")
ExitLoop
ElseIf $Radio4 And BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_C\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_D\","open")
ExitLoop
ElseIf $Radio5 And BitAND(GUICtrlRead($Radio5), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_C\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_D\","open")
ShellExecute ("game.exe","-skiptobnet", "E:\D2installationen\diablo_F\","open")
ExitLoop
EndIf
Case $msg = $btn_window
if $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_A\","open")
ExitLoop
ElseIf $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_B\","open")
ExitLoop
ElseIf $Radio3 And BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_C\","open")
ExitLoop
ElseIf $Radio4 And BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_C\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_D\","open")
ExitLoop
ElseIf $Radio5 And BitAND(GUICtrlRead($Radio5), $GUI_CHECKED) = $GUI_CHECKED Then
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_A\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_B\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_C\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_D\","open")
ShellExecute ("game.exe","-w -skiptobnet", "E:\D2installationen\diablo_F\","open")
ExitLoop
EndIf
EndSelect
Wend