Autor Beitrag
MBK
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 01.07.02 11:12 
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

_________________
Rage Against The Machine
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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 geschrieben das genau das macht. Die Zeile die dich dabei am meisten Interessieren sollte ist diese:
ausblenden Quelltext
1:
ShortName := sr.FindData.cAlternateFileName;					

Wobei sr das obern erwähnte SearchRec ist.

Gruß
Klabautermann
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Mo 01.07.02 19:04