Hallo,
ich hatte schon im Hilfe & Unterstützung Forum gefragt, und wurde hierauf hingewiesen.
Ich brauche, wie Hier auch schon beschrieben, eine Funktion, die das Schließen des laufenden Scriptes verhindert.
Das ist soweit auch schon fertig:
Spoiler anzeigen
#include <Security.au3>
#include <WinAPI.au3>
#RequireAdmin
[/autoit] [autoit][/autoit] [autoit];Debug-Privlegien holen...
Local $hToken = _Security__OpenProcessToken(_WinAPI_GetCurrentProcess(), $TOKEN_ALL_ACCESS)
_Security__SetPrivilege($hToken, $SE_DEBUG_NAME, True)
_WinAPI_CloseHandle($hToken)
;Escape-Funktion registrieren
HotKeySet("{ESC}", "_Escape")
;Critical-Flag auf <TRUE> setzen
_WinAPI_SetProcessIsCritical(True)
;Hauptschleife
While True
Sleep(20)
WEnd
Func _Escape()
;Critical-Flag auf <FALSE> setzen
MsgBox(0, "", _WinAPI_SetProcessIsCritical(False))
Exit
EndFunc
Func _WinAPI_SetProcessIsCritical($bState)
$avReturn = DllCall("ntdll.dll", "int:cdecl", "RtlSetProcessIsCritical", "boolean", $bState, "ptr", 'none', "boolean", False)
Return $avReturn[0]
EndFunc
Die MsgBox, das man nicht die nötigen Berechtigungen hat, soll aber auch beim Admin kommen und der PC soll nicht wie bisher abkratzen.
WICHTIG:
Das Script muss ganz normal weiter laufen!
Die Funktion sollte am besten so anzuwenden sein:
_Funktion(1) ; Für Beenden verhindern
_Funktion(0) ; Für Beenden wieder ermöglichen
Wär gut, wenn jemand Zeit findet, das umzusetzen.
Danke.