Öffnen mit... Frage

  • Alsooo,
    Mein Player ist nun fast fertig. Wenn ich jetzt eine Datei über Rechtsklick->Öffnen mit... öffne dann funktioniert alles perfekt, doch wenn ich nun eine 2te Datei öffne, öffnet sich das Programm erneut. Wie kann ich das machen, dass die .mp3 in die Playliste (_GUICtrlListBox_Create()) aufgenommen wird anstatt sich das Programm erneut startet? Hoffe ihr versteht was ich meine.
    Dies ist meine $CmdLine Abfrage:
    [spoiler]

    [autoit]

    If $CmdLine[0] >= 1 Then
    $File = ""
    If $CmdLine[0] > 2 Then
    For $i = 2 To $CmdLine[0] - 1
    $File &= $CmdLine[$i] & ' '
    Next
    $File &= $CmdLine[$CmdLine[0]]
    Else
    $File = $CmdLine[2]
    EndIf
    If StringRight($File, 4) = ".mp3" Or StringRight($File, 4) = ".wav" Then
    _GUICtrlListBox_AddString($ListBox1,$File)
    _GUICtrlListBox_SetCurSel($ListBox1, 0)
    _Play()
    ElseIf StringRight($File, 4) = ".hpl" Then
    _OpenPlaylist($File)
    _GUICtrlListBox_SetCurSel($ListBox1, 0)
    _Play()
    Else
    MsgBox(4096,"Fehler", "Datei konnte nicht wiedergegeben werden.")
    Exit
    EndIf
    EndIf

    [/autoit]

    [/spoiler ]

    Edit BugFix: Habs mal formatiert ;)

    Einmal editiert, zuletzt von BugFix (26. März 2010 um 14:33)

  • Du kannst vorher überprüfen, ob bereits dein Script läuft (also eine andere Instanz).
    Wenn dies der fall ist, dann musst du nurnoch das Listview erweitern (mit dem Eintrag der via
    Parameter übertragen wurde) und das Hauptscript (das ja bereits lief) updaten, sodass es auch
    auf die neuen Elemente zugreifen kann.

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Das mit dem Abfragen ob es schon eine Instanz gibt geht ja mit _SingleTon(). Aber wie kann ich dann den übergeben Parameter in die andere ListBox schreiben?
    Ich hab das jetzt so:

    Spoiler anzeigen
    [autoit]

    If _Singleton("Player", 1) = 0 Then
    ;~ Parameter an anderes laufendes Script übergeben
    EndIf

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


    Wenn ich da eine MsgBox() einbaue dann wird diese angezeigt sobald ich ein zweites mal das kompilierte Script starte.
    BugFix : Danke fürs formatieren. Bei mir funktioniert das nie richtig wenn ich es direkt aus dem Script kopiere.[MSIE_newline_end ]