レジストリ値とは何ですか?

異なる種類のレジストリ値の説明

Windowsレジストリには、Windowsとアプリケーションが参照する特定の指示を含むというオブジェクトがいっぱいです。

多くの種類のレジストリ値が存在しますが、そのすべてについて以下で説明します。 文字列値、バイナリ値、DWORD(32ビット)値、QWORD(64ビット)値、複数文字列値、および展開可能な文字列値が含まれます。

レジストリ値はどこにありますか?

レジストリ値は、 Windows 10Windows 8Windows 7Windows Vista 、およびWindows XPのレジストリ全体で確認できます。

レジストリエディタには、レジストリ値だけでなく、 レジストリキーレジストリハイブもあります 。 これらのオブジェクトはそれぞれフォルダのようなもので、レジストリエディタの左側に表示されます。 レジストリ値は、これらのキーとその「サブキー」の内部に格納されているファイルのようなものです。

サブキーを選択すると、レジストリエディタの右側にすべてのレジストリ値が表示されます。 これはWindowsレジストリの唯一の場所で、レジストリ値が表示されます。レジストリ値は左側にリストされていません。

ここでは、レジストリの値を太字で示したレジストリの場所の例をいくつか示します。

各例では、レジストリ値は右端のエントリです。 レジストリエディタでは、これらのエントリが右側にファイルとして表示されます。 各値はキーに保持され、各キーはレジストリハイブ(上記の一番左のフォルダ)で生成されます。

この正確な構造は、Windowsレジストリ全体で例外なく維持されます。

レジストリ値の種類

Windowsレジストリにはいくつかの異なるタイプのレジストリ値があり、それぞれ異なる目的で作成されています。 一部のレジストリ値では、読みやすく理解しやすい通常の文字と数字が使用されますが、他のユーザーはバイナリまたは16進数で値を表現します。

文字列値

文字列の値は赤いアイコンで示され、文字「ab」が表示されます。 これらはレジストリで最も一般的に使用される値であり、最も人間が読める値です。 文字、数字、記号を入れることができます。

文字列値の例を次に示します。

HKEY_CURRENT_USER \ Control Panel \ Keyboard \ KeyboardSpeed

レジストリのこの場所でKeyboardSpeedの値を開くと、 31のような整数が与えられます。

この特定の例では、文字列値は、そのキーが押されたときに文字が繰り返される割合を定義します。 値を0に変更すると、速度が31にとどまる場合よりもはるかに遅くなります。

Windowsレジストリ内のすべての文字列値は、レジストリ内の場所によって異なる目的で使用され、それぞれ異なる値で定義されたときに特定の機能を実行します。

たとえば、 Keyboardサブキーにある別の文字列値は、 InitialKeyboardIndicatorsと呼ばれるものです 。 0から31までの数値を選択する代わりに、この文字列の値は0または2のいずれかしか受け入れません.0は、コンピューターの最初の起動時にNUMLOCKキーがオフになることを意味し、2の値はNUMLOCKキーをオンにしますデフォルトでは

これらは、レジストリ内の文字列値の唯一のタイプではありません。 他の人は、ファイルやフォルダのパスを指すか、システムツールの説明として機能します。

文字列値は、レジストリエディタでレジストリ値の "REG_SZ"タイプとして一覧表示されます。

マルチストリング値

マルチストリング値は文字列値に似ていますが、ただ1つの行ではなく値のリストを含むことができる点が異なります。

Windowsのディスクデフラグツールでは、以下のマルチストリング値を使用して、サービスに権限が必要な特定のパラメータを定義します。

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ defragsvc \ RequiredPrivileges

このレジストリ値を開くと、次のすべての文字列値が含まれていることがわかります。

SeManageVolumePrivilege

レジストリ内のすべてのマルチストリング値が複数のエントリを持つわけではありません。 単一の文字列値とまったく同じように機能するものもあれば、必要な場合にはさらに多くのエントリのための追加の領域があります。

レジストリエディタは、レジストリ値の "REG_MULTI_SZ"タイプとして複数の文字列値をリストします。

拡張可能な文字列値

拡張可能な文字列値は、変数を含む点を除いて、上の文字列値と同じです。 これらのタイプのレジストリ値がWindowsまたは他のプログラムによって呼び出されると、その値は変数が定義する値に展開されます。

ほとんどの展開可能な文字列値は、値に%記号が含まれているため、レジストリエディタで簡単に識別できます。

環境変数は、展開可能な文字列値の良い例です:

HKEY_CURRENT_USER \ Environment \ TMP

TMP展開可能な文字列値は%USERPROFILE%\ AppData \ Local \ Tempです。 このタイプのレジストリ値の利点は、 %USERPROFILE%変数を使用するため、ユーザーのユーザー名を含む必要がないことです。

Windowsや他のアプリケーションがこのTMP値を呼び出すと、その変数が設定されているものに変換されます。 既定では、Windowsはこの変数を使用してC:\ Users \ Tim \ AppData \ Local \ Tempのようなパスを表示します。

"REG_EXPAND_SZ"は、レジストリエディタが展開可能な文字列値をとして表示するレジストリ値の種類です。

バイナリ値

名前が示すように、これらのタイプのレジストリ値はバイナリで書かれています。 レジストリエディタのアイコンの青色は1と0です。

HKEY_CURRENT_USER \ Control Panel \ Desktop \ WindowMetrics \ CaptionFont

上記のパスはWindowsレジストリにあり、 CaptionFontはバイナリ値です。 この例では、このレジストリ値を開くと、Windowsのキャプションのフォント名が表示されますが、データは人間が読める形式ではなくバイナリで書き込まれます。

レジストリエディタは、バイナリ値のレジストリ値の種類として "REG_BINARY"を一覧表示します。

DWORD(32ビット)値とQWORD(64ビット)値

DWORD(32ビット)値とQWORD(64ビット)値の両方には、Windowsレジストリに青色のアイコンがあります。 それらの値は、10進数または16進数形式で表すことができます。

1つのアプリケーションがDWORD(32ビット)値を作成し、もう1つのQWORD(64ビット)値が32ビットまたは64ビット版のWindowsから実行されているのではなく、ビット長値の つまり、32ビットと64ビットの両方のオペレーティングシステムで両方の種類のレジストリ値を持つことができます

この文脈において、「単語」は16ビットを意味する。 DWORDは「ダブルワード」または32ビット(16 X 2)を意味します。 このロジックに続いて、QWORDは「クワッドワード」または64ビット(16×4)を意味します。

アプリケーションは、これらのビット長規則に準拠するために必要な適切なレジストリ値を作成します。

以下は、Windowsレジストリ内のDWORD(32ビット)値の1つの例です。

HKEY_CURRENT_USER \コントロールパネル\パーソナライゼーション\デスクトップスライドショー\ インターバル

このDWORD(32ビット)値を開くと、1800000(および16進数では1b7740)の値データが表示される可能性があります。 このレジストリ値は、スクリーンセーバーが写真スライドショーの各スライドをどのくらい速く(ミリ秒単位で)移動するかを定義します。

レジストリエディタは、レジストリ値の「REG_DWORD」および「REG_QWORD」タイプとしてそれぞれDWORD(32ビット)値とQWORD(64ビット)値を表示します。

バックアップ& レジストリ値の復元

1つの値だけを変更している場合でも、起動する前に必ずバックアップを作成してください。予期しないことが起こった場合に備えて、レジストリエディタに戻すことができます。

残念ながら、個々のレジストリ値をバックアップすることはできません。 代わりに、値が入っているレジストリキーのバックアップを作成する必要があります。これを行うには、Windowsレジストリをバックアップする方法を参照してください。

レジストリバックアップはREGファイルとして保存され、変更を元に戻す必要がある場合はWindowsレジストリに復元することができます。 ヘルプが必要な場合は、Windowsレジストリを復元する方法を参照してください。

レジストリ値をいつ開く/編集する必要がありますか?

新しいレジストリ値を作成したり、既存のレジストリ値を削除/編集することで、Windowsや他のプログラムで発生している問題を解決できます。 レジストリ値を変更して、プログラムの設定を微調整したり、アプリケーションの機能を無効にすることもできます。

場合によっては、単に情報目的のためにレジストリ値を開く必要があるかもしれません。

レジストリ値を編集または開くことを含むいくつかの例を次に示します。

レジストリ値を変更する一般的な概要については、「 レジストリキーと値を追加、変更、削除する方法」を参照してください

レジストリ値の詳細

レジストリ値を開くと、そのデータを編集できます。 あなたがそれらを起動するときに実際に何かをするあなたのコンピュータ上のファイルとは異なり、レジストリ値はそれらを編集するために単に開いています。 つまり、Windowsレジストリ内のレジストリ値を開くのは完全に安全です。 しかし、あなたが何をやっているのかをまず知ることなく値を編集するのは良い考えではありません。

レジストリ値の変更は、コンピュータ再起動するまで有効にならない場合があります 。 他のものは再起動をまったく必要としないので、その変更はすぐに反映されます。 レジストリエディタでは、再起動が必要なものは何も表示されないため、レジストリの編集が正常に動作していない場合は、コンピュータを再起動する必要があります。

REG_NONEとして表示されているWindowsレジストリの一部のレジストリ値が表示されることがあります。 これらは、空のデータがレジストリに書き込まれたときに作成されるバイナリ値です。 このタイプのレジストリ値を開くと、その値のデータが16進形式の0として表示され、レジストリエディタはこれらの値を(長さゼロのバイナリ値として)リストします。

コマンドプロンプトを使用すると、 reg deleteおよびreg addコマンドスイッチを使用してレジストリキーを削除および追加できます。

レジストリキー内のすべてのレジストリ値の最大サイズは64キロバイトに制限されています。