ホームページ  >  記事  >  バックエンド開発  >  C# レジストリ操作の実装コード

C# レジストリ操作の実装コード

黄舟
黄舟オリジナル
2016-12-22 13:41:091103ブラウズ

第 2 レベルのディレクトリには、HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、および HKEY_CURRENT_CONFIG の 5 つの事前定義された主キーが含まれています。

これら5つのクラスの機能をそれぞれ説明しましょう

HKEY_CLASSES_ROOT 主キーには、ファイル拡張子とアプリケーション関連の情報に加え、Windows ShellとOLEがレジストリを保存するために使用する情報が含まれています。この主キーの下のサブキーは、WINDOWS でこのクラスのファイルとそのア​​イコンを表示する方法を決定します。この主キーは HKEY_LCCAL_MACHINESOFTWAREClasses からマップされます。
HKEY_CURRENT_USER この主キーには、ユーザー ウィンドウ情報、デスクトップ設定など、現在のユーザーに関する情報が含まれます。

HKEY_LOCAL_MACHINE の主キーには、コンピューターのソフトウェアとハ​​ードウェアのインストールと構成の情報が含まれています。
HKEY_USERS の主キーは、ユーザーがシステムにログインするたびに、現在のユーザーの設定情報を記録します。ユーザーのログイン名と同じサブキーが、現在のユーザーのデスクトップ設定、背景ビットマップ、ショートカット キー、フォントなどの情報を保存します。通常、アプリケーションは主キーに直接アクセスせず、主キー HKEY_CURRENT_USER を通じてアクセスします。

HKEY_CURRENT_CONFIG この主キーは、コンピューターの現在のハードウェア構成情報を保存します。これらの構成は、現在接続されているネットワークの種類やハードウェア ドライバー ソフトウェアのインストールに応じて変更できます。

C# はレジストリの編集もサポートしています。.NET Framework は、レジストリを操作するための Microsoft.Win32 名前空間に Registry と RegistryKey という 2 つのクラスを提供します。どちらのクラスもシールされたクラスであり、継承することはできません。以下では、これら 2 つのクラスをそれぞれ紹介します。

Registry クラスは、7 つのパブリック静的フィールドを提供し、それぞれ 7 つの基本主キーを表します (そのうちの 2 つは XP システムにないため、ここでは紹介しません): Registry.ClassesRoot、Registry.CurrentUser、Registry.LocalMachine 、Registry.Users 、レジストリ.CurrentConfig。どのキーに対応しているか一目で分かると思います。

RegistryKeyクラスはレジストリを操作するためのメソッドを提供します。レジストリの操作はシステム権限に従う必要があり、そうでない場合はエラーがスローされることに注意してください。

次に、レジストリを操作するためによく使用されるメソッドをいくつか見てみましょう

サブキーを作成するメソッドのプロトタイプは次のとおりです:


public RegistryKey CreateSubKey(string sunbkey)



パラメータ sunbkey はサブキーを表します。作成される名前またはパス名。作成が成功した場合は作成されたサブキーが返され、それ以外の場合は null が返されます。

サブキーを開くメソッドのプロトタイプは次のとおりです:


public RegistryKey OpenSubKey(string name);


パラメータ名は、対象となるサブキーの名前を表します。 opens またはそのパス名。writable パラメータは、最初のメソッドで開かれたサブキーが変更できるかどうかを示します。 Microsoft.Win32 クラスは、リモート コンピューター上のレジストリを開くための別のメソッドも提供します。メソッドのプロトタイプは次のとおりです。


public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); プロトタイプは次のとおりです。 :


public void DeleteKey(string subkey);


このメソッドは、指定された主キーを削除するために使用されます。削除するサブキーに主キーも含まれている場合、削除は失敗し、サブキーとディレクトリ内のサブキーを完全に削除する場合は、メソッド DeleteSubKeyTree を使用できます。


public void DeleteKeyTree(string subkey ; 指定されたキーが存在しない場合に null を返すオブジェクト型。失敗し、戻り値を null にしたくない場合は、パラメーターが指定されている場合、読み取りが失敗した場合にパラメーターで指定された値が返されます。

キー値を設定するメソッドのプロトタイプは次のとおりです:


public object SetValue(string name,object value);

上記は、C# レジストリ操作の実装コードの内容です。 、PHP 中国語 Web サイト (www.php .cn) に注意してください。




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。