C完全操作注冊表_第1頁
C完全操作注冊表_第2頁
C完全操作注冊表_第3頁
C完全操作注冊表_第4頁
C完全操作注冊表_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C#操作注冊表及設(shè)置開機(jī)自動(dòng)運(yùn)行(自啟動(dòng))2009-04-05 01:08 A.M.MSDN例子:Microsoft.Win32.RegistryKey key;key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");key.SetValue("Name", "Isabella");key.Close();using Microsoft.Win32;以下從讀寫刪除判斷四個(gè)事例實(shí)現(xiàn)對注冊表的簡單操作 1.讀取指定名稱的注冊表的值private string Get

2、RegistData(string name)    string registData;     RegistryKey hkml = Registry.LocalMachine;     RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);     RegistryKey aimdir = software.OpenSubKey("XXX",true);  

3、60;  registData = aimdir.GetValue(name).ToString();    return registData; 以上是讀取的注冊表中HKEY_LOCAL_MACHINESOFTWARE目錄下的XXX目錄中名稱為name的注冊表值; 2.向注冊表中寫數(shù)據(jù)private void WTRegedit(string name,string tovalue)     RegistryKey hklm = Registry.LocalMachine;     Regis

4、tryKey software = hklm.OpenSubKey("SOFTWARE",true);     RegistryKey aimdir = software.CreateSubKey("XXX");     aimdir.SetValue(name,tovalue); 以上是在注冊表中HKEY_LOCAL_MACHINESOFTWARE目錄下新建XXX目錄并在此目錄下創(chuàng)建名稱為name值為tovalue的注冊表項(xiàng); 3.刪除注冊表中指定的注冊表項(xiàng)private void Delet

5、eRegist(string name)    string aimnames;     RegistryKey hkml = Registry.LocalMachine;     RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);     RegistryKey aimdir = software.OpenSubKey("XXX",true);   &#

6、160; aimnames = aimdir.GetSubKeyNames();    foreach(string aimKey in aimnames)         if(aimKey = name)       aimdir.DeleteSubKeyTree(name);     以上是在注冊表中HKEY_LOCAL_MACHINESOFTWARE目錄下XXX目錄中刪除名稱為name注冊表項(xiàng); 4.判斷指定

7、注冊表項(xiàng)是否存在private bool IsRegeditExit(string name)    bool _exit = false;    string subkeyNames;     RegistryKey hkml = Registry.LocalMachine;     RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);     RegistryKe

8、y aimdir = software.OpenSubKey("XXX",true);     subkeyNames = aimdir.GetSubKeyNames();    foreach(string keyName in subkeyNames)         if(keyName = name)              _

9、exit = true;        return _exit;             return _exit; 以上是在注冊表中HKEY_LOCAL_MACHINESOFTWARE目錄下XXX目錄中判斷名稱為name注冊表項(xiàng)是否存在,這一方法在刪除注冊表時(shí)已經(jīng)存在,在新建一注冊表項(xiàng)時(shí)也應(yīng)有相應(yīng)判斷;  =下面是設(shè)置開機(jī)自動(dòng)運(yùn)行的設(shè)置及操作:#region 開機(jī)自動(dòng)啟動(dòng)項(xiàng)設(shè)置及相關(guān)函數(shù) &#

10、160;      /此處是一個(gè)菜單的單擊事件        private void menuItem_Start_Click(object sender, EventArgs e)                     /應(yīng)該程序的路徑 

11、60;          string keyValue = Application.ExecutablePath;            /如果菜單前面已經(jīng)是選中狀態(tài),則刪除開機(jī)自動(dòng)運(yùn)行,把菜單前面的鉤去掉            if (this.menuI

12、tem_Start.CheckState = CheckState.Checked)                              DeleteKey(keyName);           

13、60;    this.menuItem_Start.CheckState = CheckState.Unchecked;                return;                    &

14、#160;    /設(shè)置開機(jī)自動(dòng)運(yùn)行的值,對應(yīng)的路徑(如C:Program FilesWinRARWinRAR.exe)             WriteKey(keyName, keyValue);            this.menuItem_Start.CheckState = CheckState.Che

15、cked;                 /判斷是否已經(jīng)存在此鍵值,此處可以在Form_Load中來使用。        /如果存在,菜單開機(jī)自動(dòng)運(yùn)行前面可以打上對鉤        /如果不存在,則不操作      &

16、#160; private bool IsExistKey(string keyName)                     bool _exist = false;             RegistryKey hklm = Registry.LocalMac

17、hine;             RegistryKey runs = hklm.OpenSubKey("SoftwareMicrosoftWindowsCurrentVersionRun", true);            /注意此處用的是GetValueNames()     &

18、#160;      string runsName = runs.GetValueNames();            foreach (string strName in runsName)                   

19、60;         if (strName.ToUpper() = keyName.ToUpper()                                  

20、60;   _exist = true;                    return _exist;                       

21、60;                  return _exist;                  private bool WriteKey(string keyName, string keyValue)    

22、0;                 RegistryKey hklm = Registry.LocalMachine;                        /定義hklm指向注冊表的LocalMac

23、hine,其中SoftwareMicrosoftWindowsCurrentVersionRun就是關(guān)系到系統(tǒng)中隨系統(tǒng)啟動(dòng)而啟動(dòng)的程序,通稱啟動(dòng)項(xiàng)              RegistryKey run = hklm.CreateSubKey("SoftwareMicrosoftWindowsCurrentVersionRun");           &

24、#160;             try                             /將我們的程序加進(jìn)去      

25、;           run.SetValue(keyName,keyValue);                                /注意,一定要關(guān)閉,注冊表應(yīng)用。

26、0;                hklm.Close();                return true;               &

27、#160;           catch /這是捕獲異常的                              return false;     &#

28、160;                        /刪除鍵值        private void DeleteKey(string keyName)            

29、0;                     RegistryKey hklm = Registry.LocalMachine;             RegistryKey runs = hklm.OpenSubKey("SoftwareMicrosoftWindo

30、wsCurrentVersionRun", true);            try                             /注意此處用的是GetValueNames()        

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論