Hallo, ich hab einen Updater, der vor dem Überschreiben der alten Programmexe prüft, ob das Programm gerade läuft, es wenn ja, dann beendet, und den Kopiervorgang dann erst auslöst. Vielleicht hift dieser Codeausschnitt............................. (Bei Win2000 muß die kill.exe ins system32, kann man runterladen.............)

OS=Win32DeclareLibrary.OSVersionString
 apps = Win32DeclareLibrary.GetActiveProcessNames
 prozess=Join(apps,"|")
 count=countfields(prozess,"|")
for i=0 to count -1
 appelement= apps(i)
 if appelement="DEIN PROGRAMM.exe" then
if OS.left(12)="Windows 2000" then
cmd = "kill DEIN PROGRAMM.exe"
else
       cmd = "taskkill /IM DEIN PROGRAMM.exe"
       MsgBox "Dolekas wurde auf WinXP oder höher beendet"
     end if
elseif appelement="DEIN PROGRAMM.exe" then if OS.left(12)="Windows 2000" then
       cmd = "kill DEIN PROGRAMM.exe"
       MsgBox "Dolekas wurde auf Win2000 beendet"
     else
       cmd = "taskkill /IM DEIN PROGRAMM.exe"
       MsgBox "Dolekas wurde auf WinXP oder höher beendet"
     end if
sh.execute cmd
   end if
next


Grüße
Achim

Antwort per Email an