AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi mehrere markierte Dateien aus Explorer an Anwendung

mehrere markierte Dateien aus Explorer an Anwendung

Ein Thema von lordcroc · begonnen am 12. Dez 2005 · letzter Beitrag vom 15. Dez 2005
Antwort Antwort
lordcroc

Registriert seit: 13. Aug 2002
Ort: Braunschweig
137 Beiträge
 
Delphi 7 Professional
 
#1

mehrere markierte Dateien aus Explorer an Anwendung

  Alt 12. Dez 2005, 23:57
Hallo,

ich möchte mein Programm im Kontextmenü von einigen Dateitypen haben, das klappt auch ganz gut. Das problem ist wenn mehrere Dateien
markiert sind und ich mein Programm dann aus dem Kontextmenü aufrufe bekommt mein Programm über Paramstr () nur eine Datei übergeben und wird auch nur einmal gestartet. Ich habe hier im Forum gelesen das ich mit einer Dll Datei Arbeiten muß. Leider habe ich keine genauere Beschreibung gefunden wie das im Detail aussieht. Vielleicht hat ja schon jemand von euch das selbe Problem gehabt und kann mir weiterhelfen.

Schon mal Danke im vorraus.

mfg
lordcroc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 13. Dez 2005, 00:00
Eigentlich sollte Windows dein Programm für jede Datei starten. Und hier im Forum solltest du auch eine Lösung für dein Problem finden. Eine Suche nach Hier im Forum suchenoneinst sollte auch noch mal Suchergebnisse bringen, die weiterhelfen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
lordcroc

Registriert seit: 13. Aug 2002
Ort: Braunschweig
137 Beiträge
 
Delphi 7 Professional
 
#3

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 13. Dez 2005, 00:07
hab schon die suche als erstes angewendet, aber nichts insofern gefunden was mir einen bestimmten weg für eine Lösung bietet oder Ich hab auch vielleicht nicht nach den richtigen Begriffen gesucht. hab zwar das mit einer Instanz gelesen mir fehlt aber irgendwie so der Zusammenhang.

mfg
Lordcroc
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#4

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 13. Dez 2005, 07:54
der explorer startet für jede ausgewählte datei eine neue instanz deines programms und übergibt jeweils immer nur eine gewählte datei. Du hast jetzt drei Möglichkeiten das zu verhindern:

1. Du erstellst einen Semaphore (oder ähnliches) beim start deiner ersten instanz und beim start weiterer instanzen kann der semaphore dann nicht noch einmal erstellt werden, weil er ja schon existiert. du sendest mittels SendMessage eine Message mit dem übergebenen Parameter an dein erstes Programm und lässt diese Instanz beenden.

2. Du machst das mittels eines DDE Servers. Ganz einfach in delphi die komponente drauf ziehen, aktivieren und dann bekommst du da alle parameter übergeben.

3. Du machst das mittels ShellExtensions. Da erstellst du eine DLL, die sich ins Kontextmenü einbindet. Hier bist du verdammt flexibel, weil du wirklich alle selektierten Parameter auf einmal auslesen kannst und noch einige andere einstellungen und überprüfungen machen kannst. Bei Delphi 7 wird da ein Beispiel mitgeliefert. Schau mal unter demos im delphi verzeichnis.

Ich hab das selbst auch mal gemacht. als erstes 1., dann 2. und dann 3.
Mein Problem dabei war, dass du bei 1. und 2. die Parameter nach der Reihe geschickt bekommst und nicht weißt, wann der letzte parameter angekommen ist. und ich wollte eben eine funktion ausführen, die aber erst dann startet, wenn ich wirklich alle selectierten dateien von explorer geschickt bekommen hab. und das ging mit 1. und 2. nicht. (oder nur unschön mittels eines timers, jedoch weiß man ja nicht wie ausgelastet der pc ist und wie hoch man den timer setzen muss.
es ist auf jeden fall nicht verkehrt sich mit ShellExtensions aus einander zu setzten.

gruß
  Mit Zitat antworten Zitat
lordcroc

Registriert seit: 13. Aug 2002
Ort: Braunschweig
137 Beiträge
 
Delphi 7 Professional
 
#5

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 14. Dez 2005, 23:50
vielen Dank, werde mich jetzt in den nächsten Tagen mal damit etwas befassen.

mfg
lordcroc
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 14. Dez 2005, 23:56
Ich hab's so gemacht, geht einwandfrei: http://www.swissdelphicenter.ch/de/showcode.php?id=2126
  Mit Zitat antworten Zitat
lordcroc

Registriert seit: 13. Aug 2002
Ort: Braunschweig
137 Beiträge
 
Delphi 7 Professional
 
#7

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 15. Dez 2005, 00:04
Hi,

Danke aber deine lösung gehört wie mumu es geschrieben hat unter Kategorie 1 von ihm aus und das bedeutet ich weiß nicht wann
die letzte nachricht angekommen ist, dadurch keinen automatischen Vorgang anstarten. Also variante 3 Scheint bisher die beste lösung für mich zu sein, aber auch die schwierigste.

Trotzdem vielen Dank.

mfg
lordcroc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 15. Dez 2005, 00:30
Ich habe dir doch den Hinweis mit oneinst gegeben. das macht genau das, was du willst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#9

Re: mehrere markierte Dateien aus Explorer an Anwendung

  Alt 15. Dez 2005, 07:28
hmm luckie auch oneinst fällt unter 1.

du weißt hier nicht, wann du vom explorer die letzte datei übergeben kriegst.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz