• ベストアンサー

レジストリはなぜ必要?

プログラムのことをまったくしらない初心者です。 よく、レジストリを書き換えるようなプログラムはPCの動作が遅くなるとかいうのを聞きます。 詳しくは知りませんが、レジストリは、何々の項目が、1と設定するみたいな情報が入っていると理解しています。それならばいっそうのこと、このような情報をテキストで持たして、レジストリには書かないようにするわけにはいかないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#240783
noname#240783
回答No.1

テキストファイルに収めてもかまいません。 ほにゃらら.ini といったイニシャルファイルを読み込んで 設定値を得るようなやり方を「昔」はしていました。 でも、 プログラムファイルと設定用のテキストファイルとがあると 運用が面倒です。万一、設定用のテキストファイルがどっかに いっちゃったとか、消しちゃったとか、トラブルの元です。 こーゆー側面があって、レジストリを使うんじゃないでしょか?!

7_11shop
質問者

お礼

なるほど。大変よくわかりました。

その他の回答 (4)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.5

>よく、レジストリを書き換えるようなプログラムはPCの動作が >遅くなるとかいうのを聞きます。 同感 >詳しくは知りませんが、レジストリは、何々の項目が、1と設定する >みたいな情報が入っていると理解しています。 YES >それならばいっそうのこと、このような情報をテキストで持たして、 >レジストリには書かないようにするわけにはいかないのでしょうか。 その通り 設計者によるとは思いますが、あくまで個人的見解で 「やたらとレジストリに書くのはアフォ設計」 と言いたい。 レジストリを汚れるソフトを嫌う人がいるので、シェアウェアにした時だけ、ユーザ情報程度の書き込むとか、レジストリでなければいけない理由があるときだけ可。 レジストリはOSも含め、他のアプリも参照する部分なので、そのレジストリの情報を膨らます事は、自アプリだけならず、システム全体を遅くする要素あり。 レジストリを触れるようになると、覚えたての猿のように、やたらとレジストリに書きたくなる奴が多い。ってか私も猿になった。今となっては超ハズイ過去。 結果的に、質問者が誰から聞いた情報か知れないけど、最初に言っていたことは全て同感。自力で調べたのか、周囲の知り合いから聞いたかわからないけど、その情報ルートはいいものだと勝手に評価。

回答No.4

.NETでは、INIファイルやレジストリではなく、XMLファイルに設定を保存することが推奨されているみたいです。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/039inifile/inifile.html
回答No.3

>このような情報をテキストで持たして、レジストリには書かないようにするわけにはいかないのでしょうか。 えーと。Win3.0とかWin3.1の時代は確かにこういう仕組みだったのですよ。 でも設定ファイルがあっちこっち(ディレクトリ)にあったり、命名規則が適当かついい加減(アプリ任せ)だったので、一箇所にまとめて管理しようよということになったのだと認識しています。すばらしい仕組みだと思いますよ。 でもオンラインソフト作ったりする人の中にはレジストリを目の仇にして「このソフトはレジストリを使いません!」っていう人もいますけど… そういうの見ると、ホントは使い方知らないんじゃないの?と思いますが…(^^;

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.2

こんにちは、honiyonです。  レジストリも1つのテキストデータ(ファイル)と捉えても構いません。ただ特殊なテキストファイルで、通常ファイルとして見えずWindowsの読み書き機能(API)を介さないとアクセスできない、という捉え方も出来ます。  #1さんが仰っているように、別にINIファイル(データ名=データ という形で記述されたテキストファイル)にしても構いません。  但し、Windows95から、この形式をとらずにレジストリを使用するようにマイクロソフトが推奨するようになりました。  別にレジストリの読み書き自体は、そんなに遅い仕組みではありません。  しかし、膨大な量のデータがたった一箇所に集中することでデータの検索が遅くなり、結果として「レジストリは遅い」という結果となるのでしょう。  因みに私はレジストリの読み書きが遅いという事を実感した事はないです。気が付かないだけかな^^;  参考になれば幸いです(..

関連するQ&A

専門家に質問してみよう