非WEBプログラム(デスクトッププログラム)の設定は、一般にレジストリにあります。これらのプログラムの自動テストを実行する場合、レジストリに頻繁に対処する必要があります。レジストリを変更して、プログラムの設定を変更します。
この章では、C#プログラムを使用してレジストリを操作する方法、特に64ビットオペレーティングシステムのレジストリを操作する方法を紹介します。
内容を読む
多くの場合、自動テストにはレジストリの変更が必要です
多くのシステム設定(IE設定など)がレジストリにあります。デスクトップアプリケーションの設定もレジストリに存在します。したがって、自動テストを実行する場合、レジストリを変更する必要があることがよくあります
Windows登録の紹介
レジストリエディターはc:/windows/regedit.exeにあります。または、実行中に「Regedit」を実行します。レジストリエディターを開始できます。
レジストリは、プライマリキー、キー、サブキー、および値アイテムで構成されています。次の図
主キーの内容:hkey_current_userとhkey_local_machineは似ています。1つは現在のユーザーの設定で、もう1つはマシンの設定です。
C#レジストリを変更します
C#のレジストリを変更するには簡単すぎます。 Microsoft.win32を使用して最初に追加します。そして、あなたはそれを成し遂げるでしょう。以下の例を見て、読み取り、追加、削除、変更、およびすべての操作を持っています。
static void main(string [] args){// instance、ieホームページregistrykey localmachine = registry.currentuser; registrykey sougou = localmachine.opensubkey(@"software/microsoft/internet explorer/main"、true); // IE HomePage文字列バージョン= sougou.getValue( "Start Page")。toString(); // IE HomePage Sougou.setValue( "Start Page"、 "http://www.cnblogs.com/"、registryvaluekind.string)を変更します。 //タンクテスト値アイテムを変更します。存在しない場合は、新しいTankTest値アイテムを作成します。 sougou.setvalue( "tanktest2"、 "1"、registryvaluekind.dword); //値アイテムSougou.DeleTevalue( "tanktest2")を削除します。 //新しいSubkey Sougou.createSubkey( "これはsubkey1"); sougou.createsubkey( "これはsubkey2"); // subkey sougou.deletesubkey( "this is subkey1"); }32ビットオペレーティングシステムと64ビットオペレーティングシステムレジストリの違い
上記のコードは32ビットオペレーティングシステムで実行するには問題ありませんが、64ビットオペレーティングシステムでは機能しません。
32ビットおよび64ビットアプリケーションもあります。 64ビットオペレーティングシステムでは、32ビットアプリケーションと64ビットアプリケーションを実行できます。
64ビットオペレーティングシステムに32ビットアプリケーションをインストールすると、C:/プログラムファイル(x86)/にインストールされます。タスクマネージャーを開始すると、32ビットプログラムのプロセス名が表示され、以下に示すように「*32」が表示されます。
注:64ビットオペレーティングシステム:
64ビットプログラムのレジストリはまだあります:hkey_local_machine/software/microsoft/internet explorer
代わりに、32ビットプログラムのレジストリは、hkey_local_machine/software/wow6432node/microsoft/internet explorerにあります
C#プログラムは64ビットオペレーティングシステムのレジストリにアクセスします
C#プログラムはすべて32ビットです。レジストリにアクセスすると、hkey_local_machine/software/wow6432node/にアクセスしますが、hkey_local_machine/software/にアクセスできません。
以前の.NET 3.5 C#プログラムは、64ビットオペレーティングシステムのレジストリにアクセスするために、Win32 API関数(数百行のコードが必要)を介して64ビットオペレーティングシステムのレジストリにアクセスするために必要でした。
.NET 4.0の後、64ビットオペレーティングシステムのレジストリに簡単にアクセスできます。
static void main(string [] args){// 64ビットオペレーティングシステムのレジストリを変更する// ieのホームページを変更します。 localkey = localkey.opensubkey(@"software/microsoft/internet explorer/main"、true); if(localkey!= null){localkey.setvalue( "start page"、 "http://www.cnblogs.com"); }}上記は、64ビットオペレーティングシステムレジストリの自動テストの読み取りと書き込みに関する情報です。将来、関連情報を整理し続けます。このサイトへのご支援ありがとうございます!