Computer über USB-Stick sperren

  • Hi,

    ich möchte gerne ein LAN-Tool schreiben das die Tastatur, die Maus sperrt und den Bildschirm schwarz werden lässt, wenn der USB-Stick nicht angeschlossen ist.
    Ich denke ich hab hier im Forum schon mal so ein Script gesehen aber es leider nicht wiedergefunden.

    Ich hab hier schon mal einen Ansatz.


    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    $Usbser= 2418238033
    $reg=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Secure")
    if not @error then
    while 1

    [/autoit] [autoit][/autoit] [autoit]

    $var = DriveGetDrive( "all" )
    If NOT @error Then
    For $i = 1 to $var[0]
    $ser=DriveGetSerial($var[$i])
    if $ser=$Usbser Then
    BlockInput(0)
    ExitLoop
    Else
    BlockInput(1)
    if WinExists("Windows Task-Manager") then WinKill("Windows Task-Manager")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Next
    EndIf
    sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Else
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Secure", "REG_SZ", @ScriptFullPath)
    EndIf

    [/autoit]

    Mein Problem liegt da das ich nicht weiss wie ich den Bildschirm schwarz werden lassen kann.
    Auch ist ein sehr grossen Problem das er den Task-Manager auch noch beendet wenn der USB-Stick eingesteckt ist, damit kann man das Script nicht mehr beenden und den Task-Manager öffnen.

    Danke schon mal für eure Hilfe

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

  • moin monkey,
    was meinst du mit "LAN-Tool"?

    "...das die Tastatur, die Maus sperrt und den Bildschirm schwarz werden lässt..."

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    GUICreate("", -1, -1, 0, 0, BitOR($WS_POPUP, $WS_MAXIMIZE)) ;erzeuge ein Vollbild
    GUISetBkColor(0x000000) ; macht schwarz
    GUISetState()
    ;AdlibEnable("tm", 100) ;deaktiviere alle 100ms über Func tm() !!!NICHT Einschalten, bevor das Skript fertig ist!!!
    SplashTextOn("Sperre", "Warte auf Medium ", 250, 40, -1, -1, 0, "", 12) ; Text der über den Bildschirm wandern soll ;das MUSS nicht sein
    While 1
    If GUIGetMsg($GUI_EVENT_CLOSE) Then ExitLoop ; so kann zu TESTZWECKEN die Schleife mit ESC beendet werden
    $_x = Random(50, @DesktopWidth - 200, 1);das MUSS nicht sein
    $_y = Random(50, @DesktopHeight - 50, 1);das MUSS nicht sein
    WinMove("Sperre", "", $_x, $_y);das MUSS nicht sein
    Sleep(2000) ;die Pause sollte angemessen groß sein, damit nicht dauernd nach dem Medium gesucht wird.
    ;Hier steht der Teil, der die Schleife beendet
    ;If ... then ExitLoop
    WEnd
    SplashOff ();das MUSS nicht sein, gehört sich aber so
    AdlibDisable()
    BlockInput(0)
    MsgBox(0, "Sperre","Blockade beendet", 2)

    [/autoit] [autoit][/autoit] [autoit]

    Func tm()
    ProcessClose("taskmgr.exe")
    MouseMove(@DesktopWidth, @DesktopHeight, 1) ;setzt den Mauszeiger fest
    BlockInput(1) ;zusätzlich Tastatur und Maus blocken
    WinClose('Windows Task-Manager') ;Aufruf des Taskmanagers blocken
    EndFunc

    [/autoit]

    Gruß
    Westi

    Einmal editiert, zuletzt von Westi (11. Dezember 2007 um 19:01)

  • EDIT: Sry, hab mich geirrt. ^^

    Einmal editiert, zuletzt von Arkaneus (16. Oktober 2008 um 18:34)