2011-11-08 14 views
0

プログラムとWindowsサービスが同じフォルダにあります。それらは異なるユーザーアカウントで実行できます。彼らはいつも自分の.exeが置かれているフォルダに書き込むことができるでしょうか?それとも彼らはまだ実行している特定のアカウントの権利に依存していますか?そうでなければ、共通のデータを共有するためにどのフォルダを使用できますか?実行可能ファイルが置かれているフォルダへの書き込み

答えて

3

通常、実行ファイルは\Program Files\CSIDL_PROGRAM_FILES)にインストールされています。 CSIDL_COMMON_APPDATAの下にプログラム固有のサブディレクトリが必要です。 (状況に応じて適切なACLを使用してこのサブディレクトリを作成します)。

1

ほとんどの場合(つまり管理者ではないほとんどの種類のアカウントの場合)、アプリケーションまたはサービスはそこにインストールされていると、\ Program Filesフォルダに書き込むことはできません(既定では)。

アプリケーション間でデータを共有するには、FOLDERID_ProgramDataフォルダを使用し、SHGetFolderPathを使用してパスを取得します。

関連する問題