![]() |
"Senden an" mit langen Dateinamen
Hi Leute,
ich habe eine Problem: Mein Programm soll mit einer Liste von Dateinamen via Parameter gestartet werden. Der User wählt im Explorer Dateien aus, und soll dann via "Senden an" Menü das Programm starten können. Das funzt so weit auch. Doch leider werden Teile von Dateinamen, die ein Leerzeichen enthalten als separate Parameter übergeben. Weiß jemand wie ich es hinbekommen, dass solche Parameter in Anführungszeichen übergeben werden? Vielen Dank im voraus!!! |
Re: "Senden an" mit langen Dateinamen
Wenn Deinem Programm nur ein Parameter übergeben wird,
kannst Du doch mit ParamCount die Anzahl der Parameter ermitteln Falls es mehr als ein Parameter sind weißt Du das ein langer Dateiname mit Leerzeichen übergeben wurde. Den Dateinamen kannst Du dann aus den Parametern rekonstruieren. Ob es einen einfacheren Weg gibt, weiß ich nicht. Grüße Klaus |
Re: "Senden an" mit langen Dateinamen
Desshalb schrieb ich "Liste von DateinamEN"
Bei einer Datei wäre das kein Problem; zugegeben, bei mehreren könnte ich mir die Dateinamen wohl auch zusammenbasten. Aber gibt es keine elegantere Lösung? |
Re: "Senden an" mit langen Dateinamen
Hi,
also ich hab das eben mal nachgebastelt und bei mir funzt das ohne Probleme:
Delphi-Quellcode:
In jeder Zeile ein Dateiname, auch inkl. Leerzeichen... Alles fehlerfrei :gruebel:
For ii:=1 to ParamCount do
ListBox1.Items.Add(ParamStr(ii)); Habs mit Delphi 5 auf Win XP SP2 getestet... Evtl. liegt der Fehler woanders? Gruß Stephan :dance: |
Re: "Senden an" mit langen Dateinamen
Das kann ich fast schon nicht glauben:
Prog mit genau den 2 CodeZeilen, dann unter run Params c:\Langer Dateiname 1.0.3.pdf eintragen und in der Listbox sind 3 Einträge: C:\Langer Dateiname 1.0.3.pdf Die Lösung wird irgendwo da liegen, das Windows die Dateinamen mit Anführungszeichen an das Programm übergibt, ich weiß nur nicht wie. Grüße!!! |
Re: "Senden an" mit langen Dateinamen
Ob sich das auch bei SendTo auswirkt weiß ich nicht.
Aber ist vielleicht einen Versuch wert? Grüße Klaus Zitat:
|
Re: "Senden an" mit langen Dateinamen
Moin c.kauer,
oben schreibst Du, dass das Problem auftritt, wenn Du die Daten per "Senden an" an das Programm geschickt werden, und jetzt gibst Du als Beispiel an, dass man es als Parameter in Run eintragen soll. Dann mache mal "" um den Parameter in Run, und anschliessend probiere es mal direkt mit Senden an. Windows macht das schon richtig, nur beim Run-Parameter musst Du es selber machen ;-) |
Re: "Senden an" mit langen Dateinamen
Windows macht es eben nicht richtig, zumindest nicht wenn ich den "Senden An" Link selbst erzeuge.
Mit dem Beispiel (Parameter unter Run eintragen) wollte ich nur zeigen, dass Steve nicht rechthaben kann. Das hat aber eigentlich nichts mit meiner Problematik zu tun. @Klaus01: Das Problem ist, dass mein Prog über eine .lnk Datei geöffnet wird, die im "Senden an" Ordner liegt. Dazu gibt es keinen Registry Eintrag. Aber ich denke ich werde das Problem lösen, indem ich einen neuen Popupmeneintrag in der Registry anlge und nicht mit "senden an" arbeite. Danke Gruß Christian Kauer |
Re: "Senden an" mit langen Dateinamen
Moin Christian,
seltsam... Wenn ich eine oder mehrere Dateien über "Senden an" übergebe funktioniert das problemlos, nur wenn ich den Namen mittels des Run-Parameters übergebe funktioniert es nicht richtig. :gruebel: Welche Delphi-Version, und welche Windows-Version verwendest Du? |
Re: "Senden an" mit langen Dateinamen
Moin Christian,
wie erzeugst du denn "Senden an"-Link? Mit IShellLink? Vielleicht mache ich dabei etwas falsch. Nachtrag: Ich wollte mal einen Link den ich automatisch erzeuge mit einer manuellen Verknüpfung vergleichen. Kann man die lnks überhaupt irgendwie anschauen? Ultra Edit öffnen sofort die Verknüpfte Datei. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz