プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
レジストリのHKEY_CURRENT_USERとHKEY_LOCAL_MACHINEとHKEY_CLASSES_ROOTの違い。
結論から書くと

HKEY_CURRENT_USER → 今ログインしているおまえに関する設定だよ
HKEY_LOCAL_MACHINE → このコンピュータに関する設定(全ユーザに影響)だよ
HKEY_CLASSES_ROOT → ファイルを開くときに俺(コンピュータさん)が見る設定だよ

だそうです。

ついでに書くと

HKEY_USERS → ユーザに関する情報だよ
HKEY_CURRENT_CONFIG → 起動時に読み込まれるあーだこーだだよ

らしいですが、手動でいじる機会はほとんど無いと思います。

それでは詳細……というほどでもないですが、詳細を書いていきますね。

最近レジストリを手動でいじる機会が多くてですね。

「HKEY_CURRENT_USER」「HKEY_LOCAL_MACHINE」「HKEY_CLASSES_ROOT」の3つは
同じような項目がそれぞれあるけど、何が違うのよ(--?と疑問が出てきました。

それをきっかけとしてGoogle先生にお尋ねしてみた次第です。

ふむふむ(--)

読んで字の如く

HKEY_CURRENT_USER → ユーザ固有の設定
HKEY_LOCAL_MACHINE → コンピュータ固有の設定

でした。
同じ項目が両方で設定されていた場合は、
HKEY_CURRENT_USER(ユーザ固有の設定)の方が
HKEY_LOCAL_MACHINE(コンピュータ固有の設定)より優先されるようです。

それじゃー「HKEY_CLASSES_ROOT」は?
「HKEY_CLASSES_ROOT」は何に使うのよ?と思ったのですが、
これは完全にコンピュータさん用のカンペなので気にしなくて良いようです。

中身は基本的に

HKEY_LOCAL_MACHINE
 \Software
  \Classes



HKEY_CURRENT_USER
 \Software
  \Classes

を合体させたもので、同じ項目が両方で定義されていたら
「HKEY_CURRENT_USER」の方の値が有効になるのだそうな。

加えて「HKEY_CLASSES_ROOT」の中身を直接編集した場合は、
「HKEY_CURRENT_USER」で同項目が定義されていたらそれ、
定義されていなかったら「HKEY_LOCAL_MACHINE」の同項目に編集内容が反映されるようです。

ふーん、なるほど。
つまり「HKEY_CURRENT_USER」と「HKEY_LOCAL_MACHINE」を修正するか
「HKEY_CLASSES_ROOT」だけを修正するかの二択ってことですね。

なんか一つ賢くなった気分です。

ってなところで、完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:レジストリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事