非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上面的**在32位的作業系統上執行沒問題, 但是在64位作業系統中就不行了。void main(string
args)
應用軟體也有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位作業系統的登錄檔很簡單了。
staticvoid main(string
args)
}
自動化測試 五 讀寫64位作業系統的登錄檔
非web程式 桌面程式 的設定一般都存在登錄檔中。給這些程式做自動化測試時,需要經常要跟登錄檔打交道。通過修改登錄檔來修改程式的設定。本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設定也是存在登錄檔中。...
自動化測試 五 讀寫64位作業系統的登錄檔
本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。閱讀目錄 自動化測試經常需要修改登錄檔 windows登錄檔簡介 c 修改登錄檔 32位機器和64位機器登錄檔的區別 c 程式訪問64位作業系統的登錄檔 很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設...
自動化測試 五 讀寫64位作業系統的登錄檔
非web程式 桌面程式 的設定一般都存在登錄檔中。給這些程式做自動化測試時,需要經常要跟登錄檔打交道。通過修改登錄檔來修改程式的設定。本章介紹如何利用c 程式如何操作登錄檔,特別是如何操作64位作業系統的登錄檔。很多系統的設定 比如 ie的設定 都是存在登錄檔中。桌面應用程式的設定也是存在登錄檔中。...