自動化測試 五 讀寫64位作業系統的登錄檔

2021-09-06 06:42:09 字數 1460 閱讀 8118

非web程式(桌面程式)的設定一般都存在登錄檔中。 給這些程式做自動化測試時, 需要經常要跟登錄檔打交道。 通過修改登錄檔來修改程式的設定。

本章介紹如何利用c#程式如何操作登錄檔, 特別是如何操作64位作業系統的登錄檔。

閱讀目錄

自動化測試經常需要修改登錄檔

windows登錄檔簡介

c#修改登錄檔

32位機器和64位機器登錄檔的區別

c#程式訪問64位作業系統的登錄檔

很多系統的設定(比如:ie的設定)都是存在登錄檔中。 桌面應用程式的設定也是存在登錄檔中。 所以做自動化測試的時候,經常需要去修改登錄檔

登錄檔編輯器在 c:\windows\regedit.exe。   或者在執行中,執行"regedit". 就可以啟動登錄檔編輯器。

登錄檔由主鍵,鍵,子鍵,值項構成。  如下圖

主鍵中的:hkey_current_user和hkey_local_machine中的內容差不多,乙個是當前使用者的設定,乙個是機器的設定。

c#修改登錄檔實在是太簡單了,先新增 using microsoft.win32; 幾行**就搞定了,  看下面的例項, 讀,增,刪,改,操作都有了。

static

void main(string

args)

上面的**在32位的作業系統上執行沒問題, 但是在64位作業系統中就不行了。

應用軟體也有32位和64位之分。  在64位的作業系統中, 可以執行32位的應用程式和64位的應用程式。

如果在64位作業系統中安裝32位的應用程式, 會安裝到c:\program files(x86)\下。 啟動任務管理器,你會看到32位的程式的程序名字後會帶乙個 」*32「, 如下圖:

注意: 64位作業系統中:

64位的程式的登錄檔還在: hkey_local_machine\software\microsoft\internet explorer

32位的程式的登錄檔而是在: hkey_local_machine\software\wow6432node\microsoft\internet explorer

c#的程式都是32位的,訪問登錄檔的時候,會訪問hkey_local_machine\software\wow6432node\, 而訪問不到hkey_local_machine\software\

.net 3.5以前 c#程式需要通過win32api函式(要寫幾百行**)才能訪問64位作業系統的登錄檔。

.net 4.0 後訪問64位作業系統的登錄檔很簡單了。

static

void main(string

args)

}

自動化測試 五 讀寫64位作業系統的登錄檔

非web程式 桌面程式 的設定一般都存在登錄檔中。給這些程式做自動化測試時,需要經常要跟登錄檔打交道。通過修改登錄檔來修改程式的設定。本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設定也是存在登錄檔中。...

自動化測試 五 讀寫64位作業系統的登錄檔

本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。閱讀目錄 自動化測試經常需要修改登錄檔 windows登錄檔簡介 c 修改登錄檔 32位機器和64位機器登錄檔的區別 c 程式訪問64位作業系統的登錄檔 很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設...

自動化測試 五 讀寫64位作業系統的登錄檔

非web程式 桌面程式 的設定一般都存在登錄檔中。給這些程式做自動化測試時,需要經常要跟登錄檔打交道。通過修改登錄檔來修改程式的設定。本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設定也是存在登錄檔中。...