Hi
Folgendes Problem:
Ich hab 2 Autoit Programme mit dem ersten kann man das 2te starten (inkl Parameter etc) und natürlich auch Schliessen.
Aber genau das macht Probleme. Vorher hatte ich es mit ProcessClose() gemacht jetzt aber würde ich es mit WinClose gerne machen.
Je nachdem wie oft man das startet wird der Titel vom Fenster angepasst zb "DB~Name1" "DB~Name2" (In der .ini vorgegeben)
WinWaitActive() und WinSetState() Funktionieren wunderbar WinClose() und WinKill() dagegen überhaupt nicht.
Wo könnte da das Problem liegen?
Hauptprogramm jeweilige Code stelle:
Func _DB()
$ButtonStatus = GUICtrlRead($StartBtnDB)
$Identifier = IniRead(@ScriptDir & "\settings.ini","DB","Identifier","N/A")
If $ButtonStatus = "Start" Then
Run(@ScriptDir & "\DB.dll")
WinWaitActive("DB~"&$Identifier)
;_CheckProcess()
Else
;WinKill("DB~"&$Identifier,"")
;$GetWindows = WinList()
;$GetHandle = _ArraySearch($GetWindows,"DB~"&$Identifier)
;WinClose($GetWindows[$GetHandle][1])
WinClose("DB~"&$Identifier)
Sleep(500)
;_CheckProcess()
EndIf
EndFunc
Alles anzeigen
Die GUI die im 2ten Programm gestartet wird:
Wie man sehn kann hab ich auch schon versucht mit WinList() den Handle vom Fenster zu bekommen, klappt auch dennoch funktioniert WinClose() mit dem handle ebenfalls nicht.
Info Das 2te Programm hat die Endung .dll nicht wundern handelt sich natürlich um eine autoit.exe da ich aber in meinem Ordner nur 1 .exe möchte hab ich die Endung geändert.