Shutdown

  • Hi,
    Ich habe eine combo die verschiedene Berefehle hat herunterfahren, energiesparen, neustarten. Aber egal was man auswählt und dann den Hotkey drückt, er fährt immer runter!!
    Hier mein Code

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <ComboConstants.au3>
    DirCreate("Files")
    FileInstall("header.jpg", "Files\lala.DATA")

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

    $i1 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "1", "")
    $i2 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "2", "")
    $i3 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "3", "")
    $i4 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "4", "")
    $i5 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "5", "")
    $i6 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Computer", "1", "")
    $i8 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "1", "")
    $i9 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "2", "")
    $i10 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "3", "")
    $i11 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "4", "")
    $i12 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "5", "")
    $i13 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hokteys", "6", "")

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

    #Region ### START Koda GUI section ### Form=C:\Users\Franz\Desktop\Hotkey\Hotkeymanager.kxf
    $Hotkeymanager = GUICreate("Hotkeymanager", 431, 600, 193, 125)
    GUISetFont(12, 400, 0, "Comic Sans MS")
    GUISetBkColor(0x3399FF)
    $m1 = GUICtrlCreateMenu("Datei")
    $mi1 = GUICtrlCreateMenuItem("Speichern", $m1)
    $header = GUICtrlCreatePic("\Files\lala.DATA", 0, 0, 430, 100, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Programm = GUICtrlCreateLabel("Programmverzeichnis", 18, 136, 156, 27)
    GUICtrlSetColor(-1, 0xFF0000)
    $Hotkey = GUICtrlCreateLabel("Hotkey", 280, 136, 57, 27)
    GUICtrlSetColor(-1, 0xFF0000)
    $p1 = GUICtrlCreateInput($i1, 24, 184, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $p2 = GUICtrlCreateInput($i2, 24, 234, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $p3 = GUICtrlCreateInput($i3, 24, 284, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $p4 = GUICtrlCreateInput($i4, 24, 334, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $p5 = GUICtrlCreateInput($i5, 24, 384, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h1 = GUICtrlCreateInput($i8, 254, 184, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h2 = GUICtrlCreateInput($i9, 254, 234, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h3 = GUICtrlCreateInput($i10, 254, 284, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h4 = GUICtrlCreateInput($i11, 254, 334, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h5 = GUICtrlCreateInput($i12, 254, 384, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $h6 = GUICtrlCreateInput($i13, 254, 434, 100, 31)
    GUICtrlSetColor(-1, 0xFF0000)
    $Button2 = GUICtrlCreateButton("...", 144, 184, 41, 33, 0)
    GUICtrlSetColor(-1, 0xFF0000)
    $Button3 = GUICtrlCreateButton("...", 144, 234, 41, 33, 0)
    GUICtrlSetColor(-1, 0xFF0000)
    $Button4 = GUICtrlCreateButton("...", 144, 284, 41, 33, 0)
    GUICtrlSetColor(-1, 0xFF0000)
    $Button5 = GUICtrlCreateButton("...", 143, 334, 41, 33, 0)
    GUICtrlSetColor(-1, 0xFF0000)
    $Button6 = GUICtrlCreateButton("...", 144, 384, 41, 33, 0)
    GUICtrlSetColor(-1, 0xFF0000)
    $Combo1 = GUICtrlCreateCombo("Herunterfahren", 24, 434, 153)
    GUICtrlSetData(-1, "Energie sparen|Neu starten", "Neu starten")
    GUISetState(@SW_SHOW)
    Opt("GUIOnEventMode", 1)
    GUICtrlSetOnEvent($mi1, "_speichern")
    GUICtrlSetOnEvent($Button2, "_fileopen1")
    GUICtrlSetOnEvent($Button3, "_fileopen2")
    GUICtrlSetOnEvent($Button4, "_fileopen3")
    GUICtrlSetOnEvent($Button5, "_fileopen4")
    GUICtrlSetOnEvent($Button6, "_fileopen5")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_beenden")

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

    #EndRegion ### END Koda GUI section ###

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

    Func start1()
    Run($i1)
    EndFunc ;==>start1

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

    Func start2()
    Run($i2)
    EndFunc ;==>start2

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

    Func start3()
    Run($i3)
    EndFunc ;==>start3

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

    Func start4()
    Run($i4)
    EndFunc ;==>start4

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

    Func start5()
    Run($i5)
    EndFunc ;==>start5

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

    Func computer1()
    Shutdown($i6)
    EndFunc ;==>computer1

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

    While 1
    Sleep(1)
    HotKeySet($i8, "start1")
    HotKeySet($i9, "start2")
    HotKeySet($i10, "start3")
    HotKeySet($i11, "start4")
    HotKeySet($i12, "start5")
    HotKeySet($i13, "computer1")
    WEnd
    Func _fileopen1()
    $f1 = FileOpenDialog("Anwendung auswählen", @DesktopDir, "Anwendungen(*.exe*)")
    GUICtrlSetData($p1, $f1)
    EndFunc ;==>_fileopen1
    Func _fileopen2()
    $f2 = FileOpenDialog("Anwendung auswählen", @DesktopDir, "Anwendungen(*.exe*)")
    GUICtrlSetData($p2, $f2)
    EndFunc ;==>_fileopen2
    Func _fileopen3()
    $f3 = FileOpenDialog("Anwendung auswählen", @DesktopDir, "Anwendungen(*.exe*)")
    GUICtrlSetData($p3, $f3)
    EndFunc ;==>_fileopen3
    Func _fileopen4()
    $f4 = FileOpenDialog("Anwendung auswählen", @DesktopDir, "Anwendungen(*.exe*)")
    GUICtrlSetData($p4, $f4)
    EndFunc ;==>_fileopen4
    Func _fileopen5()
    $f5 = FileOpenDialog("Anwendung auswählen", @DesktopDir, "Anwendungen(*.exe*)")
    GUICtrlSetData($p5, $f5)
    EndFunc ;==>_fileopen5

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

    Func _speichern()
    $m = GUICtrlRead($Combo1)
    If $m = "Herunterfahren" Then
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Computer", "1", "1")
    ElseIf $m = "Energie sparen" Then
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Computer", "1", "8")
    ElseIf $m = "Neu starten" Then
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Computer", "1", "2")
    Else
    MsgBox(64, "Error", "Wähle bitte etwas aus der Liste aus!")
    Return
    EndIf
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "1", GUICtrlRead($p1))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "2", GUICtrlRead($p2))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "3", GUICtrlRead($p3))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "4", GUICtrlRead($p4))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "5", GUICtrlRead($p5))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "1", GUICtrlRead($h1))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "2", GUICtrlRead($h2))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "3", GUICtrlRead($h3))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "4", GUICtrlRead($h4))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "5", GUICtrlRead($h5))
    IniWrite(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "6", GUICtrlRead($h6))
    $i1 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "1", "")
    GUICtrlSetData($p1, $i1)
    $i2 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "2", "")
    GUICtrlSetData($p2, $i2)
    $i3 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "3", "")
    GUICtrlSetData($p3, $i3)
    $i4 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "4", "")
    GUICtrlSetData($p4, $i4)
    $i5 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Verzeichnis", "5", "")
    GUICtrlSetData($p5, $i5)
    $i6 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Computer", "1", "")
    $i8 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "1", "")
    GUICtrlSetData($h1, $i8)
    $i9 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "2", "")
    GUICtrlSetData($h2, $i9)
    $i10 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "3", "")
    GUICtrlSetData($h3, $i10)
    $i11 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "4", "")
    GUICtrlSetData($h4, $i11)
    $i12 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "5", "")
    GUICtrlSetData($h5, $i12)
    $i13 = IniRead(@ScriptDir & "\Files\Klasse.ini", "Hotkeys", "6", "")
    GUICtrlSetData($h6, $i13)
    EndFunc ;==>_speichern

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

    Func _beenden()
    Exit
    EndFunc ;==>_beenden

    [/autoit]


    Weiß jemand was ich falsch mache??

  • Wieso muss denn der Shutdown-Code ausgelagert werden?

    1. Daten der .ini laden
    2. Auswählen ob Shutdown, Reboot, Stanby usw.
    3. Abspeichern der Auswahl in eine .ini
    4. Vor dem Ausführen der Shutdown-Funktion nochmal den Status der Combobox prüfen
    5. Ggf. abspeichern
    6. Shutdown

    So ca. wäre ein sinnvoller Ablauf.

  • check ich jetzt grad net ganz!!
    ICh habe es doch so gemacht wenn es Herunterladen ist dann speichert er in der ini den code 1 wenn man dann noch sienen hotkey asuwählt und speichert ist der code in der ini. Wenn man jetzt den hotkey betätig t lädt die funktion den code aus der ini in eine variable und fügt diese dann bei shutdown ein. Was gefällt dir nicht?? Villeicht kannst du mir ja enen code schicken???

  • Hi,
    ich habe Dir mal etwas zusammengebaut. Ich hoffe es passt ? :)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Global $combo
    Global $Button

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

    Example()

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

    Func Example()
    Local $msg
    GUICreate("My GUI combo") ; Erstellt eine Dialogbox die zentriert dargestellt wird

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

    $combo = GUICtrlCreateCombo("Herunterfahren", 10, 10) ; Erstellt das erste Item
    GUICtrlSetData(-1, "Energie sparen|Neu starten", "Neu starten"); Fügt andere Items hinzu und setzt einen neuen Standard
    $Button = GUICtrlCreateButton("X", 220, 10, 20, 20)

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

    GUISetState()

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

    ; Die Schleife wiederholt sich, bis der Benutzer eine Beenden-Aktion auslöst
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Button
    _combo()
    EndSwitch
    WEnd
    EndFunc ;==>Example

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

    Func _combo()
    Switch GUICtrlRead($combo)
    Case "Herunterfahren"
    Shutdown(1 + 8)
    Case "Neu starten"
    Shutdown(2)
    EndSwitch
    EndFunc ;==>_combo

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

    #cs

    Funktion ShutdownDer Herunterfahr-Code ist eine Kombination der folgenden Werte:
    0 = Abmelden / Logoff
    1 = Herunterfahren / Shutdown
    2 = Neu Starten / Reboot
    4 = Herunterfahren erzwingen / Force
    8 = Strom abschalten / Power down
    16= erzwingen falls das System hängt
    32= Suspend
    64= Schlafmodus / Hibernate

    #ce

    [/autoit]
  • Danke ich muss es mir jetzt nur noch in onevent umschreieben und dann mit hotkeys und wie schaffe ich es dass die asugewählt bei dem wiederladen gelich bleibt??

  • Hier ein Beispiel: ;)
    Edit: Sorry, erst schreiben !

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    GUICreate("Franjobs combo")
    $combo = GUICtrlCreateCombo("Herunterfahren", 10, 10)
    GUICtrlSetData(-1, "Energie sparen|Neu starten", "Neu starten")
    $Button = GUICtrlCreateButton("X", 210, 10, 20, 20)

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Button
    _combo()
    EndSwitch
    WEnd

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

    Func _combo()
    IniWrite(@ScriptDir & "\franjobs.ini", "section", "key", GUICtrlRead($combo))
    Switch GUICtrlRead($combo)
    Case "Herunterfahren"
    ;Shutdown(1 + 8) ;###########
    Case "Neu starten"
    ;Shutdown(2) ;###########
    EndSwitch
    EndFunc ;==>_combo

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

    $var = IniRead(@ScriptDir & "\franjobs.ini", "section", "key", "NichtGefunden")
    MsgBox(0, "Ergebnis : ", $var)
    #cs

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

    Funktion ShutdownDer Herunterfahr-Code ist eine Kombination der folgenden Werte:
    0 = Abmelden / Logoff
    1 = Herunterfahren / Shutdown
    2 = Neu Starten / Reboot
    4 = Herunterfahren erzwingen / Force
    8 = Strom abschalten / Power down
    16= erzwingen falls das System hängt
    32= Suspend
    64= Schlafmodus / Hibernate

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

    #ce

    [/autoit]
  • Ich hatte am anfang doch die richtige lösung mir hat nur einer die falschen codes gesagt und so habe ich für energie sparen immer 8 geniommen und er hat herunter gefahren.

  • Weißt du vielleicht warum sich bei mir in dem folgenden Code die bg color sich nicht verändert??

    [autoit]

    $Tab1 = GUICtrlCreateTab(0, 100, 1000,500)
    GUICtrlSetBkColor(-1,0x3399FF)

    [/autoit]
  • Weißt du vielleicht warum sich bei mir in dem folgenden Code die bg color sich nicht verändert??

    [autoit]

    $Tab1 = GUICtrlCreateTab(0, 100, 1000,500)
    GUICtrlSetBkColor(-1,0x3399FF)

    [/autoit]

    Bin Zwar nicht RR04, aber in der Hilfe zu GUICtrlSetBkColor steht:

    "Derzeit können nur Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic, Progress und Slider controls eingefärbt werden."

    Gruß Ashpool

    Zitat von mir

    Bin immer wieder erstaunt, wie begrenzt ein Horizont sein kann.

    Einmal editiert, zuletzt von Ashpool (24. Juli 2009 um 17:45)