Saguhilla => Schnellstarter 2012 => UPDATED: 12.01.2012

  • Hallo liebe com,
    Der Schnellstarter 2012 ist jetzt schon fertig :)
    ==> Bugs sind schon einige bekannt :-O
    ==> Sorry, arbeite gerade an autoIT OS 3 :)

    Letzte Änderung: 12.1.2012
    Änderungen ??? | Wenige
    Source:

    Spoiler anzeigen
    [autoit]


    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Inet.au3>
    #include <MenuConstants.au3>
    #include <Misc.au3>
    #include <SendMessage.au3>
    #include <WindowsConstants.au3>
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LESEN !!!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Author: Christian Freisheimer (SAGUHILLA)
    ; Funktion: Verschiedene Aktionen auslösen usw...
    ; Bitte den Code nicht verändern :)
    Func _Bildschirm_Sperren()
    Global $aData[9] = [ @ComputerName, @LogonServer, @OSVersion, @HomeDrive & '\', @HomeShare, @IPAddress1, @LogonDomain, @OSServicePack, @UserName & ',' & ' ' & 'Based @' & ' ' & @UserProfileDir ]
    IF $aData[4] = '' Then
    $aData[4] = ' _Kein Programmort gefunden...'
    Else
    $aData[4] = @HomeShare
    EndIF
    IF $aData[7] = '' Then
    $aData[7] = ' _Kein Servicepack gefunden...'
    Else
    $aData[7] = @OSServicePack
    Endif
    While 1
    $code = InputBox('Computer Sperre 1.1 - Saguhilla Software', 'Computer Informationen' & @CRLF & @CRLF & 'Loginserver ' & $aData[1] & @CRLF & 'Windows-Version: ' & $aData[2] & @CRLF & 'Windows-Ort: ' & $aData[3] & @CRLF & 'Programm Installationrtso:' & $aData[4] & @CRLF & 'IP-Adresse:' & $aData[5] & @CRLF & 'Login-Domaine: ' & $aData[6] & @CRLF & 'Service-Pack:' & $aData[7] & @CRLF & 'Username:' & $aData[8] & @CRLF & @CRLF & 'Um diesen Computer zu sperren,' & @CRLF & @CRLF & 'gebe bitte ein Passwort ein !!!' & $aData[0], Default, '*M10', 300, 305, 300, 300)
    If @error Then
    ExitLoop
    Else
    Exitloop
    EndIf
    WEnd
    $Locked = GUICreate('Computer Sperre 1.1 - Saguhilla Software', @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000, $Locked)
    $Progress1 = GUICtrlCreateProgress((@DesktopWidth - 400) / 2, @DesktopHeight / 2 + 20, 400, 10)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreatePic('lock.gif', 430, 130, 164, 144)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $WrongPw = GUICtrlCreateEdit('', 10, 14, 300, @DesktopHeight - 14, BitOR($ES_AUTOVSCROLL, $ES_READONLY), 0)
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $InputPw = GUICtrlCreateInput('', @DesktopWidth / 2 - 100, @DesktopHeight / 2 - 10, 200, 20, BitOR($ES_CENTER, $ES_PASSWORD), 0)
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlCreateLabel('? PASSWORT ?', @DesktopWidth / 2 - 125, @DesktopHeight / 2 - 95, 260, 50, $ES_CENTER, 0)
    GUICtrlSetFont(-1, 30, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $labelPw = GUICtrlCreateLabel('Bitte geben Sie ein Passwort ein...', @DesktopWidth / 2 - 195, @DesktopHeight / 2 - 50, 400, 20, $ES_CENTER, 0)
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    WinSetState('[CLASS:Shell_TrayWnd]', '', @SW_HIDE)
    WinSetTrans($Locked, '', 240)
    GUISetState()
    _MouseTrap(@DesktopWidth, @DesktopHeight)
    While 1
    If _IsPressed('0D') Then
    If GUICtrlRead($InputPw) == $code Then
    GUICtrlSetData($InputPw, '')
    GUICtrlSetData($labelPw, 'Bitte warten...')
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0x66FF00)
    For $i = 1 To 100 Step 5
    GUICtrlSetData($Progress1, $i)
    Sleep(30)
    Next
    WinSetState('[CLASS:Shell_TrayWnd]', '', @SW_SHOW)
    Exit
    Else
    GUICtrlSetData("011298", '')
    GUICtrlSetData($labelPw, 'Falsches Passwort !!!')
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFF0000)
    EndIf
    EndIf
    If Not WinActive('Computer Sperre 1.1 - Saguhilla Software') Then
    GUICtrlSetData($labelPw, 'Passwort eingeben !!!')
    GUICtrlSetFont(-1, 12, 800, 0, 'MS Sans Serif')
    GUICtrlSetColor(-1, 0xFF0000)
    WinActivate('Computer Sperre 1.1 - Saguhilla Software')
    _MouseTrap(@DesktopWidth, @DesktopHeight)
    EndIf
    If ProcessExists('Taskmgr.exe') Then
    ProcessClose('Taskmgr.exe')
    Endif
    WEnd
    EndFunc
    Func _OFF()
    Local Const $Off = 2, $On = -1
    Opt("WinTitleMatchMode", 4)
    $hwnd = WinGetHandle('classname=Progman')
    _ToggleMonitor($hWnd, $Off)
    EndFunc
    Func _ToggleMonitor($hwnd, $OnOff)
    Local Const $WM_SYSCOMMAND = 274
    Local Const $SC_MONITORPOWER = 61808
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $OnOff)
    If @error Then
    MsgBox(0,"Bildschirm ERROR !!!", "Error: " & @error)
    Exit
    EndIf
    EndFunc
    _ip()
    Func _ip()
    Global $sIP = _GetIP()
    If $sIP = -1 Then MsgBox(64,"SaguSoft","Sie haben derzeit keine Internetverbindung...")
    If Not $sIP = -1 Then MsgBox(32,"SaguSoft","Sie haben derzeit eine Internetverbindung...")
    _Main()
    EndFunc
    Func _Main()
    Local $GUI, $msg, $german, $english, $ExitLoop
    Global Const $Windows_Font = "Microsoft YaHei"
    Local $Computer, $Computer_herunterfahren, $Computer_neustarten, $Computer_standbyeen, $Programme_and_Anwendungen, $paint, $editor, $internetex, $taskmgr, $rechner, $cmd, $cmdbef
    Local $Computer_einfrieren, $Benutzer_abmelden, $Bildschirm_ausschalten, $Bildschirm_sperren, $helpitem
    ;________________________________________________________________________
    $GUI = GUICreate("Saguhilla Schnellstarter 2012 (FREE-Edition)",280,60, @DesktopHeight+130, @DesktopDepth+450,$WS_POPUP)
    GUICtrlCreateLabel("Saguhilla Schnellstarter 2012", 10, 15, 180, 140)
    GUISetBkColor(0x4876FF)
    GUICtrlSetFont(-1, 9, 800, 1, $Windows_Font)
    $filemenu = GUICtrlCreateMenu("Schnell Start")


    $Computer = GUICtrlCreateMenu("Computer", $filemenu)

    $Computer_herunterfahren = GUICtrlCreateMenuItem("Computer herunterfahren", $Computer)
    $Computer_neustarten = GUICtrlCreateMenuItem("Computer neustarten", $Computer)
    $Computer_standbyeen = GUICtrlCreateMenuItem("Computer standbyeen", $Computer)
    $Computer_einfrieren = GUICtrlCreateMenuItem("Computer einfrieren", $Computer)
    $Computer_standbyeen = GUICtrlCreateMenuItem("", $Computer)
    $Benutzer_abmelden = GUICtrlCreateMenuItem("Benutzer abmelden", $Computer)
    $Computer_standbyeen = GUICtrlCreateMenuItem("", $Computer)
    $Bildschirm_ausschalten = GUICtrlCreateMenuItem("Bildschirm ausschalten", $Computer)
    $Bildschirm_sperren = GUICtrlCreateMenuItem("Bildschirm sperren", $Computer)

    $Programme_and_Anwendungen = GUICtrlCreateMenu("Programme & Anwendungen", $filemenu)

    $paint = GUICtrlCreateMenuItem("""Paint"" ausführen", $Programme_and_Anwendungen)
    $editor = GUICtrlCreateMenuItem("""Editor"" ausführen", $Programme_and_Anwendungen)
    $internetex = GUICtrlCreateMenuItem("""Internetexplorer"" ausführen", $Programme_and_Anwendungen)
    $explorer = GUICtrlCreateMenuItem("""Dateiexplorer"" ausführen", $Programme_and_Anwendungen)
    $taskmgr = GUICtrlCreateMenuItem("""Taskmanager"" ausführen", $Programme_and_Anwendungen)
    $rechner = GUICtrlCreateMenuItem("""Rechner"" ausführen", $Programme_and_Anwendungen)
    $cmd = GUICtrlCreateMenuItem("""CMD"" ausführen", $Programme_and_Anwendungen)
    $cmdbef = GUICtrlCreateMenuItem("CMD.exe Befehle anzeigen...", $Programme_and_Anwendungen)

    $separator1 = GUICtrlCreateMenuItem("", $filemenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
    $helpmenu = GUICtrlCreateMenu("?")
    $aboutitem = GUICtrlCreateMenuItem("Über SSoft", $helpmenu)
    $aboutitem = GUICtrlCreateMenuItem("", $helpmenu)
    $helpitem = GUICtrlCreateMenuItem("Hilfe anzeigen", $helpmenu)
    $german = GuiCtrlCreateButton("[X]", 245, 1, 25, 25)
    GUICtrlSetBkColor(-1,0x4876FF)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Case $msg = $german
    Dim $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(4388,"Saguhilla Schnellstarter 2012","Möchten Sie ""Saguhilla Schnellstarter 2012"" wirklich beenden ???")
    Select
    Case $iMsgBoxAnswer = 6 ;Yes
    Exit
    Case $iMsgBoxAnswer = 7 ;No

    EndSelect
    Case $msg = $Computer_herunterfahren
    TrayTip("Der Computer wird in 1 Sekunde heruntergefahren...","Bitte warten, der Computer wird nun ausgeschaltet...",0.5,5)
    Sleep(900)
    Shutdown(1)

    Case $msg = $Computer_standbyeen
    TrayTip("Der Computer wird jetzt in den Standbye-Modus versetzt...","Bitte warten, der Computer wird in den Standbye-Modus versetzt...",0.5,5)
    Sleep(900)
    Shutdown(32)

    Case $msg = $Benutzer_abmelden
    TrayTip("Der Benutzer " & @UserName & " wird jetzt abgemeldet...","Bitte warten, Sie werden abgemeldet...",0.5,5)
    Sleep(900)
    Shutdown(0)
    Case $msg = $Computer_einfrieren
    TrayTip("Der Computer wird jetzt eingefriert...","Bitte warten, der Computer wird eingefriert...",0.5,5)
    Sleep(900)
    Shutdown(64)

    Case $msg = $Computer_neustarten
    TrayTip("Der Computer wird jetzt neugestartet...","Bitte warten, der Computer wird neugestartet...",0.5,5)
    Sleep(900)
    Shutdown(2)
    Case $msg = $Bildschirm_ausschalten
    _OFF()
    Case $msg = $Bildschirm_sperren
    _Bildschirm_Sperren()
    Case $msg = $aboutitem
    MsgBox(0,"Über S_Soft","Dieses Programm und seine Teile sind Copyright 2009 - " & @YEAR & " bei" & @CRLF & "Christian Freisheimer..." & @CRLF & "Veränderung, Anderweilige Verwendung dieses Programmes verstossen gegen die AGB`s aller Produkte von S_Soft... ")
    ShellExecute("iexplore.exe","autoitos3.repage.de")

    Case $msg = $helpitem
    ShellExecute("iexplore.exe","autoitos3.repage.de")
    Case $msg = $paint
    ShellExecute("paint.exe")
    Case $msg = $explorer
    ShellExecute("explorer.exe")
    Case $msg = $editor
    ShellExecute("wordpad.exe")
    Case $msg = $internetex
    ShellExecute("iexplore","")
    Case $msg = $taskmgr
    ShellExecute("taskmgr.exe")
    Case $msg = $rechner
    Run("calc.exe")
    Case $msg = $cmd
    ShellExecute("cmd.exe")
    Case $msg = $cmdbef
    MsgBox(64,"CMD-Befehle", "Tippen Sie im CMD-Fenster ""help"" und danach [ENTER] ein...")
    ShellExecute("cmd.exe","help")
    EndSelect
    WEnd
    GUIDelete()

    EndFunc

    [/autoit]


    Ich würde mich über ein Kommentar oder sonstiges sehr freuen :rolleyes: :thumbup: 8o

    mfg: Saguhilla

  • ich habe in einem ca.240 Zeilen Script noch nie so viele include's gesehen.
    Allein dafür mal mein Kompliment... :thumbup:

    Ob die wirklich alle nötig sind will ich jetzt aber nicht überprüfen ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Du hast manche Includes 2-3 mal drinn und manche auch unnötig
    'Das geht doch nicht!'

    Besser man hat ein paar zu viel als ein paar zu wenig drinnen :D

    Und es ist echt dein erstes Proggy? Respekt, Respekt
    Tipp: Tu den Source in 'nen Spoiler

    MfG Aero

  • $Computer_standbyeen wurde 3x deklariert ...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • SO @all:
    Ich habe das jetzt gemacht was mir gesagt bzw. vorgeschlagen wurde:
    (+) Script in Spoiler verschoben
    (+) Include`s aussotiert

    ---> Die neue Version ist bald auch HIER <---


    mfg SAGUHILLA :rolleyes:

  • Da kannst noch mehr includes rausmachen ;)

    Diese hier reichen vollkommen:

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Inet.au3>
    #include <MenuConstants.au3>
    #include <Misc.au3>
    #include <SendMessage.au3>
    #include <WindowsConstants.au3>

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • chip: Danke ;)
    Ich hatte immer die meisten eingebaut :)

  • Und noch ein kleiner Tipp: Die Eintäge im Securite Screen kannst du entfernen. Das bietet mehr Sicherheit beim gesperrtem Bildschirm.

    [autoit]

    ; Einträge im Securite Screen werden entfernt
    RegWrite('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','HideFastUserSwitching', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableLockWorkstation', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer','NoLogoff', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableChangePassword', 'REG_DWORD', '1')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr', 'REG_DWORD', '1')
    ; Einträge im Securite Screen werden hinzugfügt
    RegWrite('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','HideFastUserSwitching', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableLockWorkstation', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer','NoLogoff', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableChangePassword', 'REG_DWORD', '0')
    RegWrite('HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System','DisableTaskMgr', 'REG_DWORD', '0')

    [/autoit]