So, ich habe jetzt mal die
DDE Komponenten richtig in mein Programm implementieren können, jedoch hat die Methode immer noch nicht die gewünschte Geschwindigkeit. Außerdem ist das Programm während der Übertragung der Dateinamen ständig im Vordergrund und es erscheint immer noch eine Warnung, dass der Computer vllt nicht mehr reagieren könne, wenn ich so viele Dateien gleichzeitig öffne. Deshalb bin ich ebenfalls der Meinung, dass die Methode veraltet und somit zu langsam ist. Ich brauche daher nun wirklich mal einen netten Helfer bzw. Lehrer, welcher mir bei der letzten und somit hoffentlich schnellen Methode helfen kann.
Zitat:
Es gibt 3 Wege wie man unter Windows eine Anwendung programieren muß damit sie aus der Shell auf multiple Dateien reagieren kann.
1.) Interprozesskommunikation: dabei überträgt eine eventuelle 2. Instance der eigenen Anwendung seinen ParamStr an die schon 1. laufende Instance der selben Anwendung. Danch terminiert die 2. Instance.
2.) Die Anwendung richtet einen
DDE Server ein, registriert diesen bei der Shell über die Registry und empfängt dann nacheinander von der Shell die ausgewählten Dateien und Ordner
3.) Es wird eine
DLL benutzt die sich als Shell Extension über die Registry veröffentlicht. Dieser Weg geht über
COM Interfaces. Die ShellExt implementiert einen IContextMenu Handler der dann bei registrierten Dateitypen als neuer Menueintrag im PopupMenu des Explorers sichtbar wird.
(Ich habe diesen Teil in einem Thread aus dem Delphi-Praxis Forum gefunden.)
Da ich nun Variante 1 und 2 ausprobiert habe und diese nicht die erwünschte Leistung gebracht haben, hoffe ich auf die letze Chance.