GUI...

  • Hallo Leute!

    erstmal der Code :)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    Global $input

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

    Opt("GUIOnEventMode", 1)
    GUICreate("password", 500, 500)
    GUISetOnEvent($GUI_EVENT_CLOSE, "close")
    $input = GUICtrlCreateInput("", 50, 50, 100, 20, 0x21)
    GUICtrlCreateButton("OK", 70, 70)
    GUICtrlSetOnEvent(-1, "OK")
    GUICtrlCreateButton("Cancel", 100, 100)
    GUICtrlSetOnEvent(-1, "close")

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

    While 1
    If WinExists("Bla Bla") Then ExitLoop
    WEnd

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

    GUISetState(@SW_SHOW)

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

    While 1
    sleep(100)
    WEnd


    Func close()
    Exit
    EndFunc

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

    Func OK()
    $read = GUICtrlRead($input)
    If $read = "Passwort" Then
    MsgBox(0, "", "Bla Bla Bla Bla")
    ShellExecute("Pfad")
    Exit
    Else
    MsgBox(0, "", "Bla Bla Bla Bla")
    WinClose("Bla Bla")
    GUIDelete()
    EndIf
    EndFunc

    [/autoit]

    also, wenn "bla bla" existiert, kommt die GUI, und ich würde gerne wissen ob es eine func gibt, wo die GUI das einzige aktive fenster ist, also, dass man nichts anderes anklicken kann ausser die GUI!
    ich hoffe dass ihr das so ungefähr wisst was ich meine..

    blöder topic name ich weiss.... mir ist nichts eingefallen ((((((:

    Danke schonmal im Voraus
    mfg Fisch

  • @ Fisch,

    meinst Du, dass sich Deine GUI ähnlich wie ein Anmeldebildschirm, oder ähnlich wie die GUI verhalten soll, wenn man STRG-ALT-ENTF drückt?

    Etwas annähernd ähnliches hatte Xenobiologist heute morgen verbrochen. Vielleicht kannst Du das ja für Deine Zwecke modifizieren?

    Einmal editiert, zuletzt von Argonaut (30. Oktober 2007 um 19:43)

  • ja genau!
    also, die GUI ist aktiv und der rest (z.B. andere fenster, desktop usw.) ist gesperrt -.-

    Edit:
    danke für den link, aber das kapier ich ned :P
    gibts da ned eine simple lösung?

    Einmal editiert, zuletzt von Fisch (30. Oktober 2007 um 20:01)

  • Hi, absolut kein Schutz aber...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    main()

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

    Func OnAutoItStart()
    Opt("MustDeclareVars", 1)
    EndFunc ;==>OnAutoItStart

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

    Func main()
    Local Const $S_WINWAIT = "Unbenannt"
    Local Const $S_PASSWORD = "test"
    Local Const $S_PROCESS = @ComSpec
    Local $h_userinp = 0, $h_passinp = 0, $h_okbt = 0, $h_cancelbt = 0

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

    GUICreate("Login", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
    $h_userinp = GUICtrlCreateInput("", 10, 10, 115, 20)
    $h_passinp = GUICtrlCreateInput("", 10, 40, 115, 20)
    $h_okbt = GUICtrlCreateButton("&OK", 10, 75, 50, 20)
    $h_cancelbt = GUICtrlCreateButton("&Cancel", 75, 75, 50, 20)

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

    While 1
    If WinExists($S_WINWAIT) Then ExitLoop
    WEnd

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

    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $h_cancelbt
    Exit
    Case $h_okbt
    If GUICtrlRead($h_passinp) = $S_PASSWORD Then
    MsgBox(64 + 262144, "Login", "The password is correct!", 1)
    ShellExecute($S_PROCESS)
    Else
    MsgBox(64 + 262144, "Login", "The password is incorrect!", 1)
    WinClose($S_WINWAIT)
    EndIf
    Exit
    EndSwitch
    WEnd
    EndFunc ;==>main

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

    Func OnAutoItExit()
    GUIDelete()
    EndFunc ;==>OnAutoItExit

    [/autoit]


    Das nur für den Anfang. Du könntest Hotkeys z.B. noch abfangen oder Ähnliches...

    Einmal editiert, zuletzt von teh_hahn (30. Oktober 2007 um 20:19)