Hi, ich habe mal ein kleines Programm zum sperren des PCs per USB-Stick geschrieben. Bei mir läuft es eigendlich, nur wenn ich [Strg] + [Alt] + [Entf] zweimal drücke, kann ich den Mauszeiger wieder bewegen und dann den PC herrunterfahren (Abmelden etc.). Sobald ich im [Strg] + [Alt] + [Entf] Menü Abbrechen drücke, wird aber wieder alles blockiert. <== Zumindest unter Win7
Unter XP läuft alles glatt, das [Strg] + [Alt] + [Entf] Menü lässt sich nicht aufrufen.
Weiß jemand eine Lösung für Windows 7?
Wie findet ihr das Script und läuft es unter Vista?
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#RequireAdmin
#NoTrayIcon
MsgBox (0,"Lock","Bitte schließen Sie (falls noch nicht geschehen) einen USB-Stick an.")
$Lock = GUICreate("Lock", 214, 72, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$Label1 = GUICtrlCreateLabel("USB-Laufwerk wählen", 8, 8, 110, 17)
$Input1 = GUICtrlCreateInput("H:\", 128, 8, 73, 21)
$Button1 = GUICtrlCreateButton("Los!", 8, 40, 193, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$laufwerk = GUICtrlRead ($Input1)
If $laufwerk = "C:\" Then
MsgBox (16,"Lock","Das Laufwerk 'C:\' ist kein USB-Laufwerk!")
Exit
EndIf
$pw = "E17B5B13A288"
$pw2 = Random (100000,999999,1)
$key = _StringEncrypt (1,$pw,$pw2,6)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$a = FileWrite ($laufwerk & "Lock.ini",$key)
[/autoit] [autoit][/autoit] [autoit]If $a = 0 Then
MsgBox (16,"Lock","Der ausgewählte USB-Stick ist nicht vorhanden. Überprüfen Sie den eingegebenen Laufwerksbuchstaben. Bitte setzen Sie hinter den Buchstaben die Zeichen ':\'. Das sieht dann z.B. so aus: 'E:\'")
Exit
EndIf
GUIDelete ()
[/autoit] [autoit][/autoit] [autoit]MsgBox (0,"Lock","Bitte entfernen Sie den USB-Stick!")
[/autoit] [autoit][/autoit] [autoit]If FileExists ($laufwerk & "Lock.ini") Then
MsgBox (16,"Lock","Sie haben den USB-Stick nicht entfernt oder eine Festplatte als USB-Laufwerk ausgewählt. Bitte ziehen Sie jetzt den USB-Stick zur Überprüfung.")
EndIf
If FileExists ($laufwerk & "Lock.ini") Then
MsgBox (16,"Lock","Sie haben eine Festplatte als Laufwerk ausgewählt. Bitte starten Sie das Programm erneut und korrigieren Sie Ihre Eingaben. Danke!")
FileDelete ($laufwerk & "Lock.ini")
Exit
EndIf
GUICreate("Form1", 1342, 443, -3, 124, BitOR($WS_MINIMIZEBOX,$WS_SYSMENU,$WS_DLGFRAME,$WS_MAXIMIZE,$WS_POPUP,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetBkColor(0x3399FF)
GUICtrlCreateLabel("Dieser Computer wurde mit Lock gesperrt. Zum Entsperren stecken Sie einfach den konfigurieten USB-Stick ein.", 8, 8, 533, 17)
GUICtrlCreateLabel("Bei Fragen, Anregungen oder Problemen besuchen Sie doch bitte die Internetseite https://autoit.de/.", 8, 32, 487, 17)
GUICtrlCreatePic("Bild.jpg", 432, 56, 500, 438, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
While 1
[/autoit] [autoit][/autoit] [autoit]BlockInput (1)
[/autoit] [autoit][/autoit] [autoit]If ProcessExists ("taskmgr.exe") Then
ProcessClose ( "taskmgr.exe")
EndIf
If FileExists ($laufwerk & "Lock.ini") Then
$keyversch = FileReadLine ($laufwerk & "Lock.ini",1)
_StringEncrypt (0,$pw,$keyversch,6)
FileDelete ($laufwerk & "Lock.ini")
Exit
EndIf
WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndSwitch
WEnd
Im Anhang findet ihr das Bild.