Entwickler-Ecke
Sonstiges (Delphi) - eigenes Programm als Standardprogramm unter Windows
mtm - Mo 06.07.15 16:54
Titel: eigenes Programm als Standardprogramm unter Windows
Hallo zusammen !
Die Überschrift habe ich eigentlich schon erledigt. Ich habe einen kleinen MP3-Player geschrieben und habe es auch hingekriegt, den als Standardprogramm für MP3's zu starten.
Das Problem liegt jetzt daran, daß, wenn ich mehrere MP3's im Explorer markiere und dann auf 'Öffnen' clicke, für jede Datei das Programm in einer Extra-Instanz gestartet wird. Ich hätte es aber gerne so, daß es bei mehreren Dateien nur einmal geöffnet wird und eine Playlist erstellt.
Im Augenblick habe ich noch keine Idee, wie ich das hinkriegen soll. Vielleicht kennt ja jemand die Lösung.
Danke im Voraus
mtm
GuaAck - Mo 06.07.15 18:44
Hallo,
genau das problem hatte ich auch und habe es folgendermaßen gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| INITIALIZATION sollabbrechen := false; IF paramcount > 0 THEN BEGIN SharedDateiliste := TSharedDateiliste.Create; akt_filename := paramstr(1); quelle := shared; akt_filelen := get_Dateilaenge(akt_filename); SharedDateiliste.puteintrag(akt_filename, akt_filelen); IF NOT SharedDateiliste.selbst_kreiert THEN BEGIN SharedDateiliste.Free; sollabbrechen := true; END END;
FINALIZATION
END. |
Einen schöneren Weg habe ich nicht gefunden. Lücke: Die erste Instanz ist fertig, bevor Windows alle Instanzen getartet hat. Evtl. Nach einem delay erneut nachsehen, ob was in der Liste steht.
Die SharedDateiListe habe ich Dir in den Anhang gepackt.
Viel Erfolg,
GuaAck.
mtm - Di 07.07.15 21:09
@GuaAck :
Danke für Deine Antwort. Ich habe aber doch schon einen andere Lösung gefunden. Ich benutze die Komponente TOneinstance. Habe ich auf torry.net gefunden. Funktioniert ziemlich gut.
Grüße
mtm
GuaAck - Mi 08.07.15 23:43
Hallo mtm,
ich habe mir nur den Code der Komponente angesehen, aber nicht installiert. Das Prinzip ist ähnlich dem meinen: "Dem ersten Aufruf die Arbeit übergegeben...". Mir scheint, der Übergabemechanismus ist anders, aber den habe ich auch nicht durchgearbeitet.
Interessant finde ich aber die geringe Resonanz auf Deine Frage! Ich erwartete auf meinen Beitrag durchaus Kritik, wie ich so einen Pfusch machen könne.(Eine Antwort darauf hätte ich parat.)
Gruß Guaack
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!