CSIDL for Users\Public folder?
-
Hello, I could not find the CSIDL for the (typical path) c:\users\public folder. (I do not have the latest Vista Platform SDK, that may be the reason). You know, c:\users\username is CSIDL_PROFILE, but what is used for the public folders? Anyone can tell me? Thanks, Nikolaus
-
Hello, I could not find the CSIDL for the (typical path) c:\users\public folder. (I do not have the latest Vista Platform SDK, that may be the reason). You know, c:\users\username is CSIDL_PROFILE, but what is used for the public folders? Anyone can tell me? Thanks, Nikolaus
Hi, try here for the CSIDL's. But note: Beginning with Windows Vista, applications should use the SHGetKnownFolderPath function and the REFKNOWNFOLDERID type to determine the full path to this folder. Existing applications that use the SHGetFolderPath function and the CSIDL type will continue to work. The KNOWNFOLDERID can be found in the KnownFolders.h header file. regards,
Jonathan Wilkes Darka [Xanya.net]
-
Hi, try here for the CSIDL's. But note: Beginning with Windows Vista, applications should use the SHGetKnownFolderPath function and the REFKNOWNFOLDERID type to determine the full path to this folder. Existing applications that use the SHGetFolderPath function and the CSIDL type will continue to work. The KNOWNFOLDERID can be found in the KnownFolders.h header file. regards,
Jonathan Wilkes Darka [Xanya.net]
hi, Thanks, but i already looked at the list of CSIDL's on msdn and there i have not found a define for the C:\users\public folder. The SHGetKnownFolderPath is not an option for me, as it adds dependency on vista and i do an "Win2K/XP or later" application. Anyway for now i use hard coded users\public and convert it to pidl and then back to displayname etc - seems to work so far. Guess its because some important folders on vista are hardcoded english strings anyway, but display in the UI language. Bye Nikolaus
-
hi, Thanks, but i already looked at the list of CSIDL's on msdn and there i have not found a define for the C:\users\public folder. The SHGetKnownFolderPath is not an option for me, as it adds dependency on vista and i do an "Win2K/XP or later" application. Anyway for now i use hard coded users\public and convert it to pidl and then back to displayname etc - seems to work so far. Guess its because some important folders on vista are hardcoded english strings anyway, but display in the UI language. Bye Nikolaus
virtualnik wrote:
The SHGetKnownFolderPath is not an option for me, as it adds dependency on vista and i do an "Win2K/XP or later" application.
Then use
GetProcAddress()
to get a pointer to the API. Hard-coding a directory name will make your code fail as soon as the app is run on another language OS.--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
-
virtualnik wrote:
The SHGetKnownFolderPath is not an option for me, as it adds dependency on vista and i do an "Win2K/XP or later" application.
Then use
GetProcAddress()
to get a pointer to the API. Hard-coding a directory name will make your code fail as soon as the app is run on another language OS.--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
Michael Dunn wrote:
Then use GetProcAddress() to get a pointer to the API.
Oh no, i had hoped to find a better solution than GetProcAddress'ing. If i remember the Win9x time with all its different ComCtrl etc versions... I really dont understand why "they" not just added a simple CSIDL_PUBLIC.
Michael Dunn wrote:
Hard-coding a directory name will make your code fail as soon as the app is run on another language OS.
Actually i am using a german language vista... vista uses hard coded english strings for some folders, but displays them in the UI language (Program Files, Users, Public\Pictures, etc...). Windows has become a true multi-language app :-) Bye Nikolaus
-
Hello, I could not find the CSIDL for the (typical path) c:\users\public folder. (I do not have the latest Vista Platform SDK, that may be the reason). You know, c:\users\username is CSIDL_PROFILE, but what is used for the public folders? Anyone can tell me? Thanks, Nikolaus
Would
CSIDL_PERSONAL
solve your purpose ? Regards, Paresh.