熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

運用.NET讀寫Windows注冊編輯表

2013-11-13 09:40:28  來源: .NET編程 
如果你曾經使用過RegOpenKeyExRegCreateKeyExRegCloseKey等Win API函數讀寫過注冊編輯表你肯定非常熟悉這些復雜的Registry函數相反NET框架中Registry和RegistryKey類提供了對Windows注冊編輯表的控制通過這些類你可非常容易地對注冊編輯表進行讀寫

  這些類被定義在MicrosoftWin命名空間和mscorlibdll裝配中使用這些類之前你必須使用using聲明這些命名空間

  #using
  using namespace Microsoft::win;

  Registry類只有七個字段成員使得你能夠存取注冊編輯表中七個特定的鍵這同你在注冊編輯表中打開一個鍵非常類似這些所有的成員均返回一個指向注冊鍵的指針

  ClassesRoot 對應於HKEY_CLASSES_ROOT
  CurrentConfig 對應於HKEY_CURRENT_CONFIG
  CurrentUser 對應於HKEY_CURRENT_USER
  DynData 對應於HKEY_DYN_DATA
  LocalMachine 對應於HKEY_LOCAL_MACHINE
  PerformanceData 對應於HKEY_PERFORMANCE_DATA
  Users 對應於HKEY_USERS

  比如你想讀寫HKEY_LOCAL_MACHINE的數據你可以先獲得一個指向該鍵的指針

  RegistryKey* pRegKey = Registry::LocalMachine;

  接著調用RegistryKey的OpenSubKey成員函數然後再調用GetValue即可獲得一個特定的字符串

  pRegKey>OpenSubKey(LSOFTWARE\\Kruse Inc\\Version);
  Object *pValue = pRegKey>GetValue(LkWise);

  如果你想設置一個鍵的值則需要調用它的SetValue函數

  pRegKey>SetValue(LkWise some Value Here);

  刪除一個值可以使用

  pRegKey>DeleteValue(LkWise);

  其它常用的成員函數還有

  DeleteSubKey 刪除一個子鍵
  CreateSubKey 如果鍵已經存在就打開該鍵否則就創建新鍵
  DeleteSubKeyTree 刪除子鍵及其節點

  下面是程序代碼例子(Microsoft Visual c+ beta調試通過)

  #using
  using namespace System;
  using namespace Microsoft::Win;
  // 這是應用程序的入口點
  int main(void)
  {
  RegistryKey * pRegKey = Registry::LocalMachine;
  pRegKey = pRegKey>OpenSubKey(LHARDWARE\\DESCRIPTION
       \\System\\CentralProcessor\\);
  Object *pValue = pRegKey>GetValue(LVendorIdentifier);
  Console::WriteLine(L本機的CPU為: {} pValue);
  return ;
  }
From:http://tw.wingwit.com/Article/program/net/201311/11303.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.