レジストリに対すINIファイルの保存ユーザー設定可能なアプリケーションの設定

StackOverflow https://stackoverflow.com/questions/6607

質問

私は新しいウィンドウプログラマなんなのかがって、ユーザの設定適用設定します。私の理解を提供する必要があり、ユーザー向けのユーザーの変更アプリケーションの設定、編集|設定形は似ています。がばいいの後にユーザーにぶつかることから、"適用"ボタンそのものです。

何の是非保存の設定Windowsレジストリに対保管に地元のINIファイルや設定ファイルまたは類似の?

役に立ちましたか?

解決

プロのコンフィグファイル:

  1. 簡単にいかない。必要としないWindows APIに発信します。あなただけを知る必要があり、ファイルI/Oインターフェースのプログラミング言語.
  2. ました。場合はポート申請他のOSは、何も変える必要はありません。設定します。
  3. ユーザ編集可能にした。ユーザが編集できるコンフィグファイルに外部プログラムの実行.

プロのレジストリ:

  1. ます。のユーザーができな誤って削除し、configファイルまたは腐敗したデータのない限りその内容について知っていregedit.そして、ユーザーがいます。
  2. 私の専門Windowsプログラマがんを使用したレジストリを容易に他のWindows特有のもの(ユーザー固有の設定、ネットワーク管理などグループの方針になるようにします。

場合だけで簡単にconfigを保存情報のものをお勧めしますコンフィグファイルを使用し、INIまたはXMLとしての形式です。からのレジストリがある場合にのみ何か特定するのにレジストリ。

他のヒント

Jeff Atwoodいて 約Windowsのレジストリは、なぜいます。INIファイルです。

私の人生にこの計画は多くの場合毎にアプリケーションアカウント設定した場所でも容易にしましたが、そこに操作しています。ういっ---にINIファイルです。

  • レジストリは、 テナント環境セットアップを既.この単一レジストリを編集先すべ始まり大きな脂肪の絶叫免責事項につき休憩でのコンピュータregedit.
  • レジストリは 不透明なバイナリ.も同じくらい嫌いに直角ブラケット税金、少なくともXMLファイルが合理的に人間が読める形式で、すことができることとして多くのコメントしていきます。
  • に登録する 同ファイルシステム.削除アプリ"アンインストール"でんとテレジストリcruft.場合又はアプリでは不書編集者.のファイルシステムな計算書に記録できたとの同期レジストリのか?この合計違反の乾燥原則とします。
  • レジストリは 積層.いた、アプリケーションを異なるパスを利用するマシンでも、異なる機械です。幸運の抽出に関連する設定をお持ちのお方のために特定のアプリケーションの巨大レジストリのtarball.用途には、通常、数十の設定をばらばらになったすべてのレジストリ。

によるドキュメンテーションに GetPrivateProfileString, を利用して発見されたレジストリの保存トの再計算情報です。

しかし、そうだしたい。iniファイルを使用するので、概要のApi(GetPrivateProfileString, WritePrivateProfileString, など)へのアクセスして提供するという蔵の方法を自動的に提供する"virtualなのです。iniファイル"の裏にはレジストリ。Win-Win!

が類似している質問 こちらの ることには一長一短がある。

私はあなたが使用しない、レジストリの場合は申請が絶対に必要です。私の理解では、Microsoftう意欲をそぐような、使用上のレジストリにより、柔軟性の設定ファイルです。また、いらないお勧めします。iniファイルでの使用の 内蔵機能 ます。純保存ユーザーアプリを設定します。

ご使用になiniファイルと同じディレクトリとしての応用が可能となりまれています。った後は再読み込みOS、単なる復旧を用ディレクトリを使用し、お客様の構成にします。

あり利用するINIファイルの登録をしたいと思っていう:をユーザが使用している場合は何らかの量ファイルに基づく暗号化することもできるINIファイルを暗号化するかです。のレジストリではこれから問題がある。

としてダニエル表示、保管、コンフィギュレーションデータを登録するオプションが管理者用テンプレート。と定義することができ管理用テンプレート使いのグループの方針および管理の構成のお申し込みネットワークしています。によってどのようなアプリケーションなので、この大きなboon.

同意してダニエル-.場合が多いと思い思いにレジストリ。の場合は小さなアプリケーションしたい面でユーザー設定可能な設定、クイックINIファイルです。

この解析でこのような場合、フォーマット。iniファイルにはオプション=値は、1回線、コメントをはじ#):

static void Parse()
{
    StreamReader tr = new StreamReader("config.ini");
    string line;
    Dictionary<string, string> config = new Dictionary<string, string>();

    while ((line = tr.ReadLine()) != null)
    {
        // Allow for comments and empty lines.
        if (line == "" || line.StartsWith("#"))
            continue;

        string[] kvPair = line.Split('=');

        // Format must be option = value.
        if (kvPair.Length != 2)
            continue;

        // If the option already exists, it's overwritten.
        config[kvPair[0].Trim()] = kvPair[1].Trim();
    }
}

編集:だと思いましたが指定されたものの翻訳であります。実施の上でクライアントまで、フルのC#.

レジストリは最適化したクイックアクセスや更新、相手にスペースを与えないことになるWindows特有のもののように付してください。とであれば無視することができ引数約が削除される単一のディレクトリをアンインストールプログラム-Windows Vistaはさせない修正ファイルのプログラムファイルのディレクトリで設定する必要はな異なるフォルダます。

が一般的なガイドラインのためのWindowsプログラミングなものにMicrosoftまり、人生をたくさん出てしまうと思いますが容易。

とはいえ、そして魅力のINIファイルかせ方を考えます。

既存の回答をカバーの多いものと思ったものです。

を利用したい登録店舗システム全体を設定します。この時の2以上のプログラムは全く同じ設定です。つまり、設定数です。

その他のすべての場合には、使っている地域コンフィグファイルが座のいずれかのパスとしての実行ファイルまたはレベルある仕上がりにな設定ディレクトリ).その理由は既に覆われたその他の回答は、携帯を使って編集することができテキストエディタです。

なぜかシステム全体の設定のレジストリ?っていうか、この場合の設定が共通のものに使用します。configファイルだと思います複製を設定します。この味するのだと思いますが必要な変更を設定しています

たとえば、プログラム、及びプログラム、用途に合わせて選ぶことがポイントは同じデータベースです。できる"システム全体の"レジストリの設定は、接続文字列になります。したい場合はポイントを別のデータベースを変更することができます。接続文字列、および双方のプログラムは、今回の実行に対するその他のデータベースです。

注-このレジストリはこの方法が異なる場合は、そのプログラムなのは、同じ値です。など、プログラムA-Bプログラムの両方が必要なデータベース接続文字列 と同じになります。例えば、たいBプログラムには現在利用中のテストデータベースがプログラムAを利用の生産データベースです。

上記のとえば、ある地域設定をオーバーライドシステム全体の設定で取得する開始複雑化したシンプルな業務といえます。

が欠点であiniまたはconfigファイルが位置している場合、ユーザーのオプションを選択し、プログラムをインストール。

お申込はインストールにセットアッププログラム、またはそれだけで"エラン"?最初の場合の是非についてご紹介しています。が抽出および実行するには、レジストリは私の意見、"go"は、人々が期待できるだけアプリケーションを削除しフォルダをなくいます。

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