質問

を取得するための Win32/MFC API はありますか? CSIDL_LOCAL_APPDATA のために どれでも 必要なユーザー (現在ログオンしているユーザーだけでなく)?「ドメイン\ユーザー」の形式でユーザーのリストがあり、そのパスのリストを取得したいとします。それは可能ですか?

役に立ちましたか?

解決

ユーザーの 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).aspxSHGetKnownFolderPath - http://msdn.microsoft.com/en-us/library/bb762188(VS.85).aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top