国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

自動化測試讀寫64位操作系統的注冊表

2019-11-20 09:14:28
字體:
來源:轉載
供稿:網友

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

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

閱讀目錄

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

自動化測試經常需要修改注冊表

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

Windows注冊表簡介

注冊表編輯器在 C:/Windows/regedit.exe。   或者在運行中,運行"regedit". 就可以啟動注冊表編輯器。

注冊表由主鍵,鍵,子鍵,值項構成。  如下圖

主鍵中的:HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE中的內容差不多,一個是當前用戶的設置,一個是機器的設置。

 

 C#修改注冊表

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

static void Main(string[] args)  {   // 實例, 修改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這個值項, 如不存在,則新建TankTest值項。   sougou.SetValue("TankTest2", "1", RegistryValueKind.DWord);   // 刪除值項   sougou.DeleteValue("TankTest2");      // 新建子鍵   sougou.CreateSubKey("This is subkey1");   sougou.CreateSubKey("This is subkey2");      // 刪除子鍵   sougou.DeleteSubKey("This is subkey1");  }

32位操作系統和64位操作系統注冊表的區別

上面的代碼在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#程序訪問64位操作系統的注冊表

 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位操作系統的注冊表   // 修改IE的首頁   // 通過RegistryView 來指定是64位操作系統還是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位操作系統的注冊表的資料,后續繼續整理相關資料,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平果县| 石河子市| 兴海县| 吴忠市| 蛟河市| 宿迁市| 唐河县| 犍为县| 太原市| 陆良县| 隆林| 富阳市| 湖口县| 广水市| 南岸区| 香河县| 玛多县| 竹溪县| 建德市| 广安市| 景德镇市| 龙胜| 盘山县| 镇康县| 汶上县| 民丰县| 祁门县| 项城市| 沙雅县| 定兴县| 左云县| 吉隆县| 革吉县| 虞城县| 汾阳市| 霍林郭勒市| 桃园市| 嘉兴市| 故城县| 九台市| 洛浦县|