AW: IShellLink SetPath gibt E_INVALIDARG zurück
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
MfG Dalai |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Zitat von Dir aus #11:
"Das steht bereits in #3: der Nutzer gibt den Dateinamen, mit oder ohne Pfad, in meine Software ein. Ob die Datei existiert, kann ich erst danach ermitteln, und das tue ich auch, um deren Eigenschaften anzuzeigen (optional)." Aha. Ich - als Nutzer - kann also "DepperterDepp.Du" als Dateinamen eintippen und Du musst herausfinden, ob es die Datei gibt? Scheint mir eine geniale Lösung zu sein: Den Nutzer einen (frei erfundenen) Dateinamen eingeben zu lassen... Viel Spaß beim Suchen! |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Zitat:
Bis dahin bleibe ich dabei, die Exception zu zeigen, und so die Verantwortung an den Nutzer zurückzugeben. Wenn der Nutzer irgendwas nicht-existierendes eingibt, ist das sein Problem. MfG Dalai |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Der "zuverlässig Algo" ist recht einfach. Alle Partitionen durchsuchen und die Fundstellen ggfs. noch mit der "heutigen" Uhrzeit vergleichen. Dauert halt ein wenig bei 0,5 bis 2,3 TB auf lokalen Datenträgern ;-)
Danach könnte man noch - um die Zuverlässigkeit zu erhöhen - noch alle Clouds weltweit überprüfen. Dauert halt noch ein wenig länger, denn wer weiß denn schon, wohin der Nutzer gerade gespeichert hat... Was spricht dagegen, den Nutzer dazu zu ZWINGEN, einen SaveDialog zu verwenden? Also: Du willst Sachen im Universum zuverlässig und schnell finden, die es möglicherweise nicht gibt? Das würde ich mal als gediegen "anspruchsvoll" bezeichnen wollen ;-) Aber noch ziemlich harmlos - verglichen mit dem Abfangen eines SaveDialog.Filenames aus einem Paralleluniversums der Stringwelten! SCNR |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Tja, das Wesentliche war wohl doch zu stark reduziert...
Dem Nutzer wird die Möglichkeit gegeben, eine Kommandozeile zu editieren, unter anderem die von Verknüpfungen. Ob es da nun einen Dialog zur Auswahl einer Datei gibt oder nicht, spielt keine Rolle, weil der Nutzer trotzdem in der Eingabe frei ist und sein muss; ein Savedialog macht in dem Zusammenhang aber überhaupt keinen Sinn. Diese Kommandozeile wird dann von mir auseinandergenommen und in Datei und Parameter gesplittet. Diese beiden Strings werden dann im Falle von Verknüpfungen an SetPath und SetArguments übergeben. Die Datei wird gesucht, um ggf. deren Eigenschaften zu ermitteln und anzuzeigen. Aber diese Suche hat eben Grenzen. Ich habe einfach keine Lust, alle möglichen "Tricks" von Windows nachzuahmen, um auch wirklich alles zu unternehmen, die Datei zu finden. Es ist ja nicht nur der %PATH%, der durchsucht wird. Nein, es gibt da noch so tolle Sachen wie
Code:
wo Dateinamen drinstehen, die irgendwo liegen können und Windows findet die auch dann, wenn dessen Verzeichnis nicht im %PATH% steht. Und wahrscheinlich gibt's da noch andere Dinge, an die ich nicht einmal gedacht habe. Und mit jeder Windows-Version könnte etwas Neues hinzukommen.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Du siehst also: so simpel ist das nicht. Daher beschränke ich den Algorithmus auf das Wesentliche, und zeige dem Nutzer die Exception, wenn er - ob absichtlich oder nicht - einen nicht-existierenden Dateinamen angibt. MfG Dalai |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Und so ein Kommandozeilen-Eingabefenster muss echt sein, denn der Nutzer muss den Rechner (und Dein Programm) auch wirklich echt Verschrotten können? Ehrensache!
Ohne PC hätte ich deutlich weniger PC-Probleme... :wink::wink::wink: |
AW: IShellLink SetPath gibt E_INVALIDARG zurück
Wirklich ein hilfreicher Beitrag ... echt, Ehrensache ... :roll:
Hättest du ein Problem und jemand würde dir mit einer solchen Antwort kommen, würde dir das helfen? Ich glaube kaum. Ich bin ja dankbar für Hilfe und ich hab auch nichts gegen Kommentare und Witze, aber keines davon vermag ich deinem Beitrag zu entnehmen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 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