Hallo Ihr Lieben,
ich habe einmal wieder ein Problem Mal wieder etwas spezielles.
Zur Vorgeschichte:
Ich habe ein Kontexteintrag in Windows erstellt, dass bei jeder Datei den Kontexteintrag "Datei hinzu" anzeigt.
Wenn man da drauf klickt, öffnet sich mein Programm und der Dateipfad wird ja per Kommandozeile übertragen.
Diese kann ich ja schnell abfangen;
[autoit]
If $CmdLine[0] > 0 Then
MsgBox(0,"ausgabe",$CmdLine[1])
EndIf
Soweit ja kein Problem Nun habe ich eine Liste in meiner GUI erstellt ("$mylist = GUICtrlCreateList").
Diese soll nun meinen Dateinamen beinhalten. Auch kein Problem:
If $CmdLine[0] > 0 Then
GUICtrlSetData($mylist, $CmdLine[1] &"|")
EndIf
Nun will ich aber eine zweite Datei per Kontextmenü einfügen!
Probleme: Es öffnet sich ein zweites Fenster. Sprich 2x mein Programm. Unerwünscht!
Lösung: Kann man mit _Sinlgeton verhindern.
Leider weiß ich nun nicht, wie ich eine Datei im Hauptfenster eintragen und diese
auch noch in der Liste eintragen kann.
If _Singleton("Dateien",1) = 0 Then
WinActivate("Form1")
If $CmdLine[0] > 0 Then
MsgBox(0,"ausgabe",$CmdLine[1])
GUICtrlSetData($mylist, $CmdLine[1] &"|")
EndIf
Exit
EndIf
Setze ich diesen Code vor dem "GUISetState(@SW_SHOW)" wird zwar die Datei angezeigt, aber nicht im Hauptfenster hinzugefügt.
Logisch, weil der ja gar nicht weißt, dass noch eine Liste im anderen Fenster existiert. Kann man die Liste global setzen oder gibt es eine andere Möglichkeit?
Hoffe es ist soweit verständlich. Vielen Dank schon einmal im Voraus.