AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi IShellLink SetPath gibt E_INVALIDARG zurück
Thema durchsuchen
Ansicht
Themen-Optionen

IShellLink SetPath gibt E_INVALIDARG zurück

Ein Thema von Dalai · begonnen am 20. Jun 2015 · letzter Beitrag vom 27. Jun 2015
 
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#15

AW: IShellLink SetPath gibt E_INVALIDARG zurück

  Alt 27. Jun 2015, 22:18
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:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
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.

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
  Mit Zitat antworten Zitat
 


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 00:42 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