Entwickler-Ecke

Sonstiges (Delphi) - win32 pfadnamen in einen MS dos pfadnamen umwandeln


MBK - Mo 01.07.02 11:12
Titel: win32 pfadnamen in einen MS dos pfadnamen umwandeln
gibt es einen befehl um win32 pfadnamen z.b."D:\Programme XP\norton antivirus 2002" in einen msdos pfadnamen umzuwnadeln etwa so:
D:\PROGRA~2\NORTON~1

eigentlich bracuh ich das nur für die registryich hab einen registryeintrag und der soll ein programm starten ich muß aber hier anscheinend einen msdos ähnlichen pfadnamen verwenden


Klabautermann - Mo 01.07.02 11:36

Hallo,

du kannst beide Namen aus den Search Rect von FindFirst, FindNext auslesen.
Ich habe mal ein kleines Tool [http://www.oitmann.de/meineprogs/Dirtranslator.html] geschrieben das genau das macht. Die Zeile die dich dabei am meisten Interessieren sollte ist diese:

Quelltext
1:
ShortName := sr.FindData.cAlternateFileName;                    

Wobei sr das obern erwähnte SearchRec ist.

Gruß
Klabautermann


Tino - Mo 01.07.02 11:36

Dafür gibt es die Funktion ExtractShortPathName. Diese Funktion ist in der SysUtils implementiert. Wenn Du die Unit SysUtils eventl. nicht in Deine Anwendung benutzen willst kannst Du auch die Funktion GetShortPathName aus der kernel32 Bibliothek benutzen.

Gruß


Pit - Mo 01.07.02 19:04
Titel: Re: win32 pfadnamen in einen MS dos pfadnamen umwandeln