Laden...

Wie kann ich bereits geöffneter Konsoleninstanz per Drag&Drop neue Argumente übergeben?

Erstellt von ma_fo vor 3 Jahren Letzter Beitrag vor 3 Jahren 535 Views
M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren
Wie kann ich bereits geöffneter Konsoleninstanz per Drag&Drop neue Argumente übergeben?

Hallo,
Ich habe ein Konsolen Programm dem ich via Drag and Drop Datein übergebe und diese in einer txt Datei dokumentiere.
Bisher habe ich das Programm nur einmal aufgefruden.

Wie kann ich bei einem zweiten aufruf die übergebenen Dateipfade quen/hinten an hängen?

Gruß

T
2.219 Beiträge seit 2008
vor 3 Jahren

Wenn du pro Durchlauf die Pfade lokal speicherst, z.B. in einer Textdatei, dann kannst du die neuen doch einfach an die Datei anhängen.
Dann musst du diese nur einmal auslesen und hast alle Pfade.

Hier wäre aber auch der use Case interessant.
Ggf. kann man auch einen anderen Ansatz überlegen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

4.931 Beiträge seit 2008
vor 3 Jahren

Ansonsten sollte "Nur eine Instanz pro Anwendung" featuring IPC passend sein (am besten meine aktualisierte Version benutzen).

Beachte, daß du eine neue GUID (z.B. vom VS im "Tools"-Menü) erzeugen läßt (und verwendest 😉.

M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren

Ich wollte die übergebenen Pfade eingentlich nicht in einem txt File speichern.
Kann aber auch das args[] nicht erweitern, fällt miir gerade so auf.

Workflow sieht wie folgt aus.

Dateien via Drag and Drop auf die Konsole.exe
Dateipfade im args[] werden stück für stück abgearbeitet.
Pro Dateipfad wird eine txt erstellt.
Konsolenfenster schließt automatisch.

Wenn ich nun bevor sich das Fenster schließt neue Dateien auf die Exe ablege dann würde ich gerne diese in das args[] einfügen und nicht eine neue Instanz der Konsole öffnen.

Ich hoffe ich habe nun mehr Klarheit reinbrignen können

Gruß

S
248 Beiträge seit 2008
vor 3 Jahren

Hallo ma_fo,

du wirst wohl nicht darum herumkommen die Argumentliste von neuen Instanzen an die laufende zu übertragen. Th69 hat dazu ja bereits eine mögliche Lösung gepostet (Stichwort IPC).
Ich würde in der primären Instanz eine Queue anlegen und dort die eigenen Einträge einfügen und diese in einer Schleife abarbeiten. Weitere Instanzen übertragen ihre Argumentliste an die primäre Instance, die ebenfalls in die Queue eingefügt werden. Ist die Queue leer beendet sich das Programm.

Grüße
spooky

M
ma_fo Themenstarter:in
10 Beiträge seit 2020
vor 3 Jahren

Jo das ist mir auch so gekommen dass ich erstmal das Programm umschreiben muss.
Dazu muss ich mir eben mehr Gedanken machen.
Bis dahin läuft es dann parallel ^^