5

ローカル システム上に、ファイルを書き込むためのディレクトリ構造を作成する (合理的に) 保証された場所はありますか? 権限の変更に管理者権限を必要としないソリューションを探していますか?

少し調査した後、現在のユーザーのデスクトップフォルダーを見つけるためのこの回答を見ました。これを使用できますが、他にどのようなオプションがありますか?

研究のまとめ:

System.Environment.SpecialFolder列挙

4

3 に答える 3

3

実際、特別なフォルダは、存在するという合理的な保証があるため、特別です。

他のフォルダーにはそのような保証はありません。EvenC:\は保証されていません (ただし、ほとんどの Windows システムには存在する可能性があります)。

ApplicationDataの下のカスタム フォルダーは、特定のユーザーのアプリケーション固有のデータを書き込むための、またはCommonApplicationDataシステム上のすべてのユーザー間で共有されるアプリケーション データのための共通の場所です。

ローミングが実装されている環境では (ユーザーがどの物理サーバーにログオンしても、ユーザーのデータは一緒に移動します)、ApplicationDataユーザーを追跡します。その動作を望まない場合は、LocalApplicationData代わりに使用できます。

于 2013-09-25T19:27:02.153 に答える
2

AppData パスはおそらくあなたが望むものです。Windows XP+ のこのフォルダーは、

string folder = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

通常、アプリケーションはこの下にサブ フォルダーを作成してデータを保存しますが、読み取り/書き込みに特別なアクセス許可は必要ありません。

于 2013-09-25T19:26:44.070 に答える