(現在ログオンしているユーザーだけでなく)必要なCSIDL_LOCAL_APPDATA
ユーザー用に取得するWin32 / MFC APIはありますか?「domain\user」という形式のユーザーのリストがあり、そのパスのリストを取得したいとします。それは可能ですか?
1 に答える
ユーザーのSIDを取得し、HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileListで検索して、ProfileImagePath値を取得できます。
このパスを取得したら、ユーザーのCLSID_LOCAL_APPDATAを取得し、絶対パスをプロファイルへの相対パスに変換してから、その相対パスを他のユーザープロファイルパスに追加できます。
ただし、これは文書化されていないレジストリキーに依存しており、OSの将来のバージョンで機能しなくなる可能性があることに注意してください。(または、レイモンド・チャンが言うように、「これで、それを行う方法がわかったので、なぜこのようにすべきではないのかを教えてください...」:-))
ユーザーを表すトークンがある場合は、SHGetFolderPathまたはSHGetKnownFolderPath(Vista以降)を使用できます。ただし、特定のセキュリティ制限があり、詳細については、MSDNを参照してください。
SHGetFolderPath- http: //msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx SHGetKnownFolderPath-http: //msdn.microsoft.com/en-us/library/bb762188(VS.85 ) .aspx