hi
ich habe ein problem. mein programm funktioniert soweit gut. beim beenden des programmes werden gewisse befehle ausgeführt die sehr wichtig sind. ich habe dazu einen button "Beenden" im tray eingefügt und wenn ich nun darauf klicke werden die befehle ausgeführt und anschließend beendet sich das programm
das ganze funktioniert aber nicht beim herunterfahren von windows. also da wird das programm einfach geschlossen und die befehle werden nicht ausgeführt was ja auch logisch ist. gibt es die möglichkeit autoit zu sagen das es bestimmte befehle beim "normalen" beenden ausführen soll? das wäre echt gut
ich wäre sehr dankbar für hilfe
cu...
if fileexists("running") then
msgbox(0,"Fehler","Die Musikverwaltung wird bereits ausgeführt.")
else
$handle=fileopen("running",1)
fileclose($handle)
global $ini[3][2],$apache,$mysql
path("server\apache\conf\httpd.conf",0)
path("server\php\php.ini",1)
path("server\mysql\my.ini",2)
$apache=run("server\apache\bin\httpd","",@sw_hide)
$mysql=run("server\mysql\bin\mysqld-nt","",@sw_hide)
opt("traymenumode",1)
opt("trayoneventmode",1)
$handle=traycreateitem("Beenden")
trayitemsetonevent($handle,"beenden")
while 1
sleep(1)
wend
endif
;#################################################
;#################################################
func beenden()
run("taskkill /pid "&$apache,"",@sw_hide)
processwaitclose($apache)
run("server\mysql\bin\mysqladmin -u root shutdown","",@sw_hide)
processwaitclose($mysql)
for $counter=0 to 2
$handle=fileopen($ini[$counter][0],2)
filewrite($handle,$ini[$counter][1])
fileclose($handle)
next
filedelete("running")
exit
endfunc
;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit][autoit][/autoit][autoit]func path($file,$counter)
$ini[$counter][0]=$file
$ini[$counter][1]=fileread($file)
$handle=fileopen($file,2)
$scriptdir=stringreplace(@scriptdir,"\","/")
$content=stringreplace($ini[$counter][1],"<<<<< PATH >>>>>",$scriptdir)
filewrite($handle,$content)
fileclose($handle)
endfunc