MFC 讀寫登錄檔

2021-07-10 19:48:06 字數 2151 閱讀 5677

登錄檔內部結構:

key->subkey->value->名稱,型別,資料

函式:

regcreatekey()

regcreatekeyex()

regopenkey()

regopenkeyex()

regsetvalue()

regsetvalueex()

regqueryvalue()

regqueryvalueex()

regdeletekey()

regdeletekeyex()

regclosekey()

1.寫登錄檔

有些系統需要管理員才能對登錄檔進行修改,所以想要程式執行成功必須要以管理員身份執行,否則將寫入失敗

hkey hkey = nullptr;

//建立成功,將得到hkey,乙個登錄檔控制代碼,用於下面操作登錄檔

if (error_success != regcreatekey(hkey_local_machine, text("software\\test"), &hkey))

//寫入登錄檔 //型別 //名稱 //字元個數

//只能寫入乙個value

if (error_success != regsetvalue(hkey,nullptr,reg_sz,text("test"),4))

if (hkey ==nullptr)

dword dwdata = 100;

long lret = 0;

//這個函式可以寫入更多的value //名稱 //型別 //資料

if (error_success != (lret = regsetvalueex(hkey, text("other"), 0, reg_dword, (const byte*)&dwdata, 4)))

afxmessagebox(text("寫入登錄檔成功!"));

regclosekey(hkey);

2.讀登錄檔

long lvalue = 0;

//先讀取資料的長度

regqueryvalue(hkey_local_machine, text("software\\test"), nullptr, &lvalue);

tchar *pbuf = new tchar[lvalue];

regqueryvalue(hkey_local_machine, text("software\\test"), pbuf, &lvalue);

afxmessagebox(pbuf);

hkey hkey = nullptr;

dword dwtpye = 0;

dword dwvalue = sizeof(dword);//這個大小一定要先求出來,否則會出錯(234)

lpdword dwdata = new dword;//一定要分配記憶體,否則也會出錯

long lret = 0;

//開啟登錄檔

regopenkeyex(hkey_local_machine, text("software\\test"),0, key_all_access,&hkey);

//regopenkey(hkey_local_machine, text("software\\test"), &hkey);

//讀登錄檔 //valuename //返回value型別 //資料快取區 //快取區大小

if (error_success != (lret = regqueryvalueex(hkey, text("other"), 0, &dwtpye, (lpbyte)dwdata, &dwvalue)))

afxmessagebox(text("讀取登錄檔成功!"));

cstring s;

s.format(text("data = %d"), *dwdata);

afxmessagebox(s);

delete dwdata;

regqueryvalueex這個函式根據不同的reg型別有不同的用法,需要謹慎小心.

讀寫登錄檔

ie 是現在windows 平台下用的最多的瀏覽器,那麼如何用程式來修改 ie,打造有自己的特色的 ie呢?我在這裡向介紹怎麼 c 用通過登錄檔來修改ie。首先我們來熟悉一下 c 中修改登錄檔的方法與函式。在 vc 中提供了 registry 類 registrykey 類來實現對登錄檔的操作。其中...

讀寫登錄檔

寫登錄檔 registrykey regwrite 往hkey current user主鍵裡的software子鍵下寫乙個名為 test 的子鍵 如果test子鍵已經存在系統會自動覆蓋它 regwrite registry.currentuser.createsubkey software tes...

MFC程式可以這樣讀寫登錄檔

mfc的 setregistrykey setregistrykey 這個函式功能是設定mfc程式的登錄檔訪問鍵,並把讀寫 ini 檔案的成員函式對映到讀寫登錄檔。只要呼叫一下 setregistrykey 並指定登錄檔鍵值,那麼下面6個成員函式,就被對映到進行登錄檔讀取了 writeprofile...