Vom Script erstelle Item ausführbar

  • Hallo Leute,

    ich habe momentan ein Problem und zwar wie kann ich dass vom Script erstelle Item (MenuItem oder TrayItem, je nach dem) in einer Variabel ($) speichern lassen und dass dann in einen Case Befehle mit rein fliesen lassen. Ich weiß nicht ob Ihr mich jetzt genau versteht, ich versuche es euch besstens zu erklären.

    Ich habe auch hier ein Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #NoTrayIcon

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

    Global $datfile = @ScriptDir & "\lastopen.dat", $menu_linie = False

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

    ; Hauptfenster
    GUICreate("Öffnen und Speichern", 500, 400)

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

    ; Menüleiste
    $menu_datei = GUICtrlCreateMenu("Datei")
    $item_oeffnen = GUICtrlCreateMenuItem("Öffnen...", $menu_datei)
    $item_save_as = GUICtrlCreateMenuItem("Speichern unter...", $menu_datei)
    GUICtrlCreateMenuItem("", $menu_datei)
    $item_beenden = GUICtrlCreateMenuItem("Beenden", $menu_datei)
    GUICtrlCreateMenuItem("", $menu_datei)

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

    If FileExists($datfile) Then
    $datfile_open = FileOpen($datfile, 0)

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

    If $datfile_open <> -1 Then ;Wenn das öffnen der Datei erflogreich war, dann wird die nächste zeile ausgeführt.
    While 1
    $datfile_read = FileReadLine($datfile_open) ;Zeile aus der Datei lesen
    If @error Then ExitLoop ;Wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateMenuItem($datfile_read, $menu_datei) ;Ein Menu Item Eintrag, mit dem Inhalt der gelesenen Zeile.
    WEnd
    FileClose($datfile_open) ;Zuvor geöffnete Datei wieder schließen.
    EndIf
    EndIf

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

    ; Edit
    $edit = GUICtrlCreateEdit("", 10, 10, 480, 350, $WS_VSCROLL)

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

    ; Damit das Hauptfenster angezeigt wird
    GUISetState()

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

    While 1
    $Msg = GUIGetMsg()

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

    Switch $Msg
    Case $GUI_EVENT_CLOSE, $item_beenden
    Exit
    Case $item_oeffnen
    $open = FileOpenDialog("Öffnen...", @DesktopDir, "Textdokument (*.txt)")
    $read = FileRead($open)
    GUICtrlSetData($edit, $read)

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

    $path = _PathFull($open)
    GUICtrlCreateMenuItem($path, $menu_datei, 10)
    FileWriteLine($datfile, $path)
    Case $item_save_as
    $save = FileSaveDialog ( "Speichern unter...", @DesktopDir, "Textdokument (*.txt)")
    If $save Then $save = $save & ".txt"
    FileWrite($save, (GUICtrlRead($edit)))
    EndSwitch

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

    WEnd

    [/autoit]

    Die gelesenen Zeilen mit einem Eintrag im Menu, sollen in einer Variabel geschrieben werden, um sie später aufrufen zu können.
    Danke im vorraus.

    MfG

    MehmeX