2016-11-28 10 views
-1

ローカルシステムユーザーのアプリケーションデータフォルダにファイルを保存するWindowsサービスプログラムがあります。これらのファイルを読み込んで別のユーザーアカウントで実行する必要があるWindowsフォームもありますが、別のユーザー、特にローカルシステムの環境変数。可能であれば、私は例を感謝するでしょう、事前に感謝します。他のユーザーの環境変数を取得しますか?

+0

あなたは 'String myEnv = System.getenv(" env_name ");'を試しましたか? –

+0

プログラムを変更して、ユーザー固有のアプリケーションデータフォルダではなく、共通のアプリケーションデータフォルダに読み書きすることがあります。 –

+0

@ScottChamberlain私はおそらく、それがずっと簡単になるだろう、btw何が良い一般的なアプリケーションのデータフォルダになるだろうか? –

答えて

1

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);を呼び出して、ファイルを保存するフォルダ内にサブフォルダを作成するだけです。その場所は、非ユーザー固有のデータ格納場所になるように設計されています。

デフォルトの場所はC:\ProgramDataですが、パスをハードコーディングする代わりにこの関数を使用して取得する必要があります。また、そのフォルダのルートにファイルを保存することはできませんが、サブフォルダを作成してそこにファイルを保存することができます。

+0

ありがとうありがとう:)) –

+0

*あるユーザーのファイルが別のユーザーに見えないようにする必要がある場合(たとえば、そのユーザー専用の情報が含まれている場合など)は、それに応じてファイル。 (他のユーザーがファイルを読み取ることができれば、気にする必要はありません)。 –

関連する問題