Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SHGetSPecialFolder und WIndows 7 / Vista (https://www.delphipraxis.net/142177-shgetspecialfolder-und-windows-7-vista.html)

ASoraru 23. Okt 2009 08:35


SHGetSPecialFolder und WIndows 7 / Vista
 
Hallo zusammen,

ich habe folgendes Problem : wenn ich eine datei auf dem desktop habe oder in irgendeinem folder der unter dem benutzerpfad liegt bekomme ich auf einem deutschen vista sowei windows 7 nicht c:\benutzer\....datei.ext sondern c:\user\....datei.ext ... leider kann ich die datei so nicht unbenennen oder zum beispiel im browser anzeigen respektive eine art journal datei dazu anlegen ...

Was kann ich machen ?

Grüße,

Andreas

Bernhard Geyer 23. Okt 2009 09:19

Re: SHGetSPecialFolder und WIndows 7 / Vista
 
Zitat:

Zitat von ASoraru
ich habe folgendes Problem : wenn ich eine datei auf dem desktop habe oder in irgendeinem folder der unter dem benutzerpfad liegt bekomme ich auf einem deutschen vista sowei windows 7 nicht c:\benutzer\....datei.ext sondern c:\user\....datei.ext ... leider kann ich die datei so nicht unbenennen oder zum beispiel im browser anzeigen respektive eine art journal datei dazu anlegen ...

C:\User ist ja auch der Korrekte Pfad. C:\Benutzer ist nur der Übersetzte Pfad. Würde auch auf einer Multi-User-Interface Version von XP passieren.
Es gibt eine API-Funktion um zu einer realen Pfadangabe die übersetze Pfadangabe zu bekommen und auch der umgekehrte Weg gibt es. Leider weis ich im Moment nicht wie die API-Funktion heißt.

ASoraru 23. Okt 2009 09:27

Re: SHGetSPecialFolder und WIndows 7 / Vista
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von ASoraru
ich habe folgendes Problem : wenn ich eine datei auf dem desktop habe oder in irgendeinem folder der unter dem benutzerpfad liegt bekomme ich auf einem deutschen vista sowei windows 7 nicht c:\benutzer\....datei.ext sondern c:\user\....datei.ext ... leider kann ich die datei so nicht unbenennen oder zum beispiel im browser anzeigen respektive eine art journal datei dazu anlegen ...

C:\User ist ja auch der Korrekte Pfad. C:\Benutzer ist nur der Übersetzte Pfad. Würde auch auf einer Multi-User-Interface Version von XP passieren.
Es gibt eine API-Funktion um zu einer realen Pfadangabe die übersetze Pfadangabe zu bekommen und auch der umgekehrte Weg gibt es. Leider weis ich im Moment nicht wie die API-Funktion heißt.

nun fehlt noch jemand der die funktion kennt ... :-) anyone out there ?

Assertor 23. Okt 2009 09:41

Re: SHGetSPecialFolder und WIndows 7 / Vista
 
Hi,

Zitat:

Zitat von ASoraru
nun fehlt noch jemand der die funktion kennt ... :-) anyone out there ?

SHGetLocalizedName, hatten wir schon vor 2 Jahren hier - http://www.delphipraxis.net/internal...t.php?p=799053 - hättest wohl nach "lokalisierter Dateiname" suchen müssen.

Zitat:

Zitat von ASoraru
sondern c:\user\....datei.ext ... leider kann ich die datei so nicht unbenennen oder zum beispiel im browser anzeigen respektive eine art journal datei dazu anlegen ...

Wieso nicht? C:\users ist doch das tatsächliche Verzeichnis und die lokalisierte Version ist afaik nur ein Junction Point. Wenn ich hier auf c:\users zugreifen will geht es (gerade mal eine deutsche UI genutzt). SHGetLocalizedName ist nur fürs schöner machen, damit der Programmierer z.B. in Dialogen auf einem deutschen Windows nicht "c:\Program Files" sondern "c:\Programme" anzeigen kann.

Lese gerade, Peter Below vom TeamB sagt auch, dass SHGetLocalizedName technisch gesehen ziemlich nutzlos ist: https://forums.codegear.com/thread.j...ssageID=145584

Gruß Assertor

Bernhard Geyer 23. Okt 2009 09:48

Re: SHGetSPecialFolder und WIndows 7 / Vista
 
Zitat:

Zitat von Assertor
Lese gerade, Peter Below vom TeamB sagt auch, dass SHGetLocalizedName technisch gesehen ziemlich nutzlos ist: https://forums.codegear.com/thread.j...ssageID=145584

Gruß Assertor

Wenn man weiter such findet man auch eine Lösung dafür: What the %$#& is up with localized paths in Vista?

Assertor 23. Okt 2009 09:51

Re: SHGetSPecialFolder und WIndows 7 / Vista
 
Hi Bernhard,

Zitat:

Zitat von Bernhard Geyer
Wenn man weiter such findet man auch eine Lösung dafür

Ich such aber in der Arbeitszeit nicht noch weiter :mrgreen: Kommt mir sowieso wie eine Lösung für ein Problem vor, welches es nicht gibt...

Gruß Assertor

P.S.: Zu früh für :cheers: ? Egal, irgendwo ist bestimmt schon die Sonne untergegangen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 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