欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

自動化測試讀寫64位操作系統(tǒng)的注冊表

 更新時(shí)間:2016年08月15日 16:41:38   作者:肖佳  
本文主要介紹自動化測試讀寫64位操作系統(tǒng)的注冊表,這里提供詳細(xì)的教程來實(shí)現(xiàn)自動化讀寫64位操作系統(tǒng)的注冊表,希望能幫助測試軟件的朋友,有興趣的小伙伴可以參考下

非Web程序(桌面程序)的設(shè)置一般都存在注冊表中。 給這些程序做自動化測試時(shí), 需要經(jīng)常要跟注冊表打交道。 通過修改注冊表來修改程序的設(shè)置。

本章介紹如何利用C#程序如何操作注冊表, 特別是如何操作64位操作系統(tǒng)的注冊表。

閱讀目錄

  1. 自動化測試經(jīng)常需要修改注冊表
  2. Windows注冊表簡介
  3. C#修改注冊表
  4. 32位機(jī)器和64位機(jī)器注冊表的區(qū)別
  5. C#程序訪問64位操作系統(tǒng)的注冊表

自動化測試經(jīng)常需要修改注冊表

很多系統(tǒng)的設(shè)置(比如:IE的設(shè)置)都是存在注冊表中。 桌面應(yīng)用程序的設(shè)置也是存在注冊表中。 所以做自動化測試的時(shí)候,經(jīng)常需要去修改注冊表

Windows注冊表簡介

注冊表編輯器在 C:\Windows\regedit.exe。   或者在運(yùn)行中,運(yùn)行"regedit". 就可以啟動注冊表編輯器。

注冊表由主鍵,鍵,子鍵,值項(xiàng)構(gòu)成。  如下圖

主鍵中的:HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE中的內(nèi)容差不多,一個是當(dāng)前用戶的設(shè)置,一個是機(jī)器的設(shè)置。

 

 C#修改注冊表

C#修改注冊表實(shí)在是太簡單了,先添加 using Microsoft.Win32; 幾行代碼就搞定了,  看下面的實(shí)例, 讀,增,刪,改,操作都有了。

static void Main(string[] args)
  {
   // 實(shí)例, 修改IE主頁
   RegistryKey localMachine = Registry.CurrentUser;
   RegistryKey sougou = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\MAIN", true);
   // 獲取IE 的主頁
   string version = sougou.GetValue("Start Page").ToString();
   // 修改IE的主頁 
   sougou.SetValue("Start Page", "http://www.cnblogs.com/", RegistryValueKind.String);

   // 修改Tanktest這個值項(xiàng), 如不存在,則新建TankTest值項(xiàng)。
   sougou.SetValue("TankTest2", "1", RegistryValueKind.DWord);
   // 刪除值項(xiàng)
   sougou.DeleteValue("TankTest2");
   
   // 新建子鍵
   sougou.CreateSubKey("This is subkey1");
   sougou.CreateSubKey("This is subkey2");
   
   // 刪除子鍵
   sougou.DeleteSubKey("This is subkey1");
  }

32位操作系統(tǒng)和64位操作系統(tǒng)注冊表的區(qū)別

上面的代碼在32位的操作系統(tǒng)上運(yùn)行沒問題, 但是在64位操作系統(tǒng)中就不行了。

應(yīng)用軟件也有32位和64位之分。  在64位的操作系統(tǒng)中, 可以運(yùn)行32位的應(yīng)用程序和64位的應(yīng)用程序。

如果在64位操作系統(tǒng)中安裝32位的應(yīng)用程序, 會安裝到C:\Program Files(x86)\下。 啟動任務(wù)管理器,你會看到32位的程序的進(jìn)程名字后會帶一個 ”*32“, 如下圖:

注意: 64位操作系統(tǒng)中: 

64位的程序的注冊表還在: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

32位的程序的注冊表而是在: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer

C#程序訪問64位操作系統(tǒng)的注冊表

 C#的程序都是32位的,訪問注冊表的時(shí)候,會訪問HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\, 而訪問不到HKEY_LOCAL_MACHINE\SOFTWARE\

.NET 3.5以前 C#程序需要通過Win32API函數(shù)(要寫幾百行代碼)才能訪問64位操作系統(tǒng)的注冊表。

.NET 4.0 后訪問64位操作系統(tǒng)的注冊表很簡單了。

static void Main(string[] args)
  {
   // 修改64位操作系統(tǒng)的注冊表
   // 修改IE的首頁
   // 通過RegistryView 來指定是64位操作系統(tǒng)還是32位
   RegistryKey localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry64);
   localKey = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main", true);
   if (localKey != null)
   {
    localKey.SetValue("Start Page", "http://www.cnblogs.com");
   }
  }

以上就是自動化測試讀寫64位操作系統(tǒng)的注冊表的資料,后續(xù)繼續(xù)整理相關(guān)資料,謝謝大家對本站的支持!

相關(guān)文章

最新評論