註冊表編程掃盲(二)

來源:互聯網
上載者:User
二。RegOpenKeyEx,以及RegCloseKey
    先說一下RegOpenKeyEx,看字面的意思就知道是開啟一個鍵,由於RegCreateKeyEx也可以開啟一個鍵的,所以這個函數就有點那個了。不過這個函數比RegCreateKeyEx簡單n倍,所以還是很有用的了。它是這樣聲明的:
LONG RegOpenKey(HKEY hKey,LPCTSTR lpSubKey,PHKEY phkResult);
一看,這些參數是不是很熟悉了啊?hKey,lpSubKey,phkResult的意思和RegCreateKeyEx函數中這些參數的意思沒什麼兩樣了。這裡不多說了,到上一節去看看就知道了。傳回值還是老樣子,ERROR_SUCCESS就表示成功開啟了。
    再來看看RegCloseKey,很簡單,只有一個參數:
LONG RegCloseKey(HKEY hKey) 就是關閉一個鍵了,關閉一個鍵以後,控制代碼就沒用了。我不知道關閉一個鍵了和不關有什麼不同,不過養成隨時關閉的習慣總是有好處的。傳回值?不用說,同上。

三。RegSetValueEx
    RegSetValueEx,也就是已經知道一個鍵控制代碼了,對這個鍵的資料進行建立或改寫。就好象已經知道一個檔案夾,然後對其中的檔案改動。一看就知道很有用了。對一些系統的資料改動的話,可以產生很牛的效果!!!啊,真是振奮人心啊!!!不過不要亂改啊,把系統該壞了別找我啊。少說廢話了,看一下怎麼用的:
LONG RegSetValueEx(
  HKEY hKey,         
  LPCTSTR lpSubKey,
  DWORD Reserved,
  DWORD dwType, 
  LPCTSTR lpData,
  DWORD cbData 
);
hKey:不用說了吧?
lpSubKey:字串,就是你要設定的資料項目的名字了,就好象檔案名稱那樣。
Reserved:沒用,必須是0。
dwType:資料的類型,有很多種,我只說兩種常用的了。REG_SZ和REG_DWORD,就是字串型和DWORD(unsigned long)型了。一般就是這兩種的。
lpData:就是你要設定的資料了,如果是字串的話,先要把首地址強制轉化成無符號型的指標,再傳過去。如果是整數的話,先取地址,再強制轉化成無符號型的字元指標,再串過去。
DWORD cbData:你要設定的資料的長度,如果是字串型的,則是strlen+1。如果是整數就是4了。傳回值同上。
還是舉個例吧:
#include<windows.h>
void main()
{
 DWORD dwRes;
 HKEY hk;
 char szName[4]="我";
 DWORD dwScore=100;
 RegCreateKeyEx(HKEY_LOCAL_MACHINE,
               "SOFTWARE//Carrier Studio//Hello",  
0,                                  
NULL,                              
REG_OPTION_NON_VOLATILE,           
KEY_ALL_ACCESS,                    
NULL,                              
&hk,
                &dwRes
);
 RegSetValueEx(hk,"Name",0,REG_SZ,(LPBYTE)szName,3);
 RegSetValueEx(hk,"Score",0,REG_DWORD,(LPBYTE)dwScore,4);
 RegCloseKey(hk);
}
好了,寫了這麼多累死我了,先休息一下。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.