Hallo AutoIT Comunity,
ich hab mir ein skript zusammen gestellt um einen Server eines spiels zu starten bzw. zu stoppen. Das geht darüber das man mehrere exe dateien öffnet bzw schliest.
Das Problem das ich jetzt hab ist folgendes. Ich hab 2 verschiedene World Server welche in 2 unterschiedlichen Ordner liegen. Das ganz hab ich über die Funktion ShellExecute versucht zu lösen.
Allerdings öffnet er mir dabei 2mal (so kommt es mir vor) den selben World server obwohl ich beim 2. den gesammten Pfad ab C:\ angegeben hab. (Wen 2mal der selbe world server gestartet wird bleibt der zweite hängen.)
Ebenfals in einem anderem Ordner liegt eine sogennante Packetfilter.exe, welche er zwar startet aber dann mit der fehler meldung: can't read log.txt wieder beendet. Diese meldung muss an der Startweise von der function liegen.
Mein jetziger Code:
Spoiler anzeigen
#include
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Server Starten/Stoppen", 529, 317, 192, 123)
$start = GUICtrlCreateButton("Server Starten", 120, 152, 129, 41, 0)
$stop = GUICtrlCreateButton("Server Stopen", 304, 152, 129, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $start
ShellExecute ( "AccountServer.exe" )
Sleep ( 3000 )
ShellExecute ( "DatabaseServer.exe" )
Sleep ( 15000 )
ShellExecute ( "Certifier.exe" )
Sleep ( 3000 )
ShellExecute ( "CoreServer.exe" )
Sleep ( 3000 )
ShellExecute ( "LoginServer.exe" )
Sleep ( 3000 )
ShellExecute ( "CacheServer.exe" )
Sleep ( 3000 )
ShellExecute ( "WorldServer.exe" )
Sleep ( 3000 )
ShellExecute ( "C:\Users\Administrator\Desktop\Server\102\Program\WorldServer.exe" )
Sleep ( 3000 )
ShellExecute ( "C:\Users\Administrator\Desktop\Server\Antihack\packetfilter.exe")
Case $stop
ProcessClose ("AccountServer.exe")
Sleep ( 1000 )
ProcessClose ("DatabaseServer.exe")
Sleep ( 1000 )
ProcessClose ("Certifier.exe")
Sleep ( 1000 )
ProcessClose ("CoreServer.exe")
Sleep ( 1000 )
ProcessClose ("LoginServer.exe")
Sleep ( 1000 )
ProcessClose ("CacheServer.exe")
Sleep ( 1000 )
ProcessClose ("WorldServer.exe")
Sleep ( 1000 )
ProcessClose ("WorldServer.exe")
Sleep ( 1000)
ProcessClose ( "packetfilter.exe")
EndSwitch
WEnd
Das beenden funktioniert ohne Probleme.
hoffe mir kann dabei einer helfen
mfg
drachenkaempfer