2011-06-17 2 views
3

たとえば、私が単語をロードすると、ファイルを保存すると、選択したのと同じディレクトリになります前回...また、開いた最後の10個の.docファイルを追跡しますプログラムはどのようにグローバル設定(プログラムが実行されるたびに同じ)を追跡するのですか?

これはどのように実行されますか?今私が書いているプログラム(C#で)のために、私はちょうどこれらの設定を保持するテキスト文書を保存します...これは悪い練習ですか?

もしそうでなければ、このテキストをどこに置くべきですか?今私は使用しています:

Path.GetDirectoryName(Application.ExecutablePath); 

このファイルが保持されているディレクトリとして...その罰金を私はプログラムを公開する前に、それだけでソリューションディレクトリ内のフォルダのいずれかを使用しているので...

しかし、私はそれを公開した後、ディレクトリは本当に奇妙です:

C:\ユーザーが.....私に\のAppData \ローカル\アプリ\ 2.0 \ J6AAL16C.2QWを\

、それが進みます。 ...これは、私がインストールすると、このプログラム用に作成されたディレクトリのようなものですか?それはどこに救われなければならないのでしょうか?

ありがとうございます!

+0

設定を保持するためにレジストリを使用します。 – Dimitri

+0

このようなことについて言えば、私は文字通り何も知らない...あなたは精巧にできますか? :) – Toadums

+2

あなたが何をしても、あなたのexeと同じフォルダに入れないでください。その場所への書き込みアクセスがないかもしれません。 –

答えて

3

.NETのApplication Settingsの機能は、これを非常に簡単にします。特に私はは、私があなたの場合ははレジストリを使用しないでしょう - それは、ユーザーがマシン間で設定をコピーするのが難しくなります。

独自の設定プロバイダを書くとちょっと変ですしかし、私は全体的なデザインを何度か理解しようとしましたが、いつも迷ってしまいました。しかし、簡単なアプリケーションでは、簡単です。

+0

mmm、設定プロバイダはどういう意味ですか?私はちょうど区切られたテキストファイルを使用しています... – Toadums

+0

@Toadums:組み込みの.NET機能を使用すると、自分でファイルを書き込んだり読み込んだりする必要はありません。それはあなたのために行われます。もしあなたがフォーマットなどを制御したいなら、それは複雑になるでしょう。 –

+0

http://stackoverflow.com/questions/2518772/how-to-change-net-user-settings-locationによれば、デフォルトのプロバイダでストレージの場所を変更することさえできません。デフォルトのプロバイダをかなり無駄なIMOにします。それ以来、ポータブルアプリケーションをサポートすることもできません。 – CodesInChaos

関連する問題