日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

vs2008环境下MFC对注册表的读写操作

發(fā)布時(shí)間:2024/4/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs2008环境下MFC对注册表的读写操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?? ? ?最近修改一個(gè)在vs2008環(huán)境下的MFC project,其中用到對(duì)注冊(cè)表的讀寫操作,雖然在網(wǎng)上down了不少代碼也查閱了不少文章,但運(yùn)行始終存在不少問(wèn)題,現(xiàn)把我運(yùn)行成功的代碼分享出來(lái),希望對(duì)有需要的有些幫助,代碼如下:

?

代碼是在HKEY_LOCAL_MACHINE//Software//Microsoft//Windows//CurrentVersion//Run下添加一條開(kāi)機(jī)自動(dòng)運(yùn)行的exe文件。

?

//寫注冊(cè)表

void CDevListDlg::WriteRegedit() { HKEY sub; TCHAR bufname[MAX_PATH*2]={0}; GetModuleFileName(0,bufname,MAX_PATH); CString str; str.Format(TEXT("%s"),bufname); CString skey=TEXT("Software//Microsoft//Windows//CurrentVersion//Run"); wchar_t *commStr =str.AllocSysString(); RegCreateKey(HKEY_LOCAL_MACHINE,skey,&sub); long iRet = RegSetValueEx(sub,TEXT("DeviceList"),NULL,REG_SZ,(const BYTE*)commStr,MAX_PATH*2); if(ERROR_SUCCESS == iRet) { MessageBox(TEXT("Add Regedit Success!"),NULL,MB_OK); } }

?

//把上面寫入的刪除掉

?

void CDevListDlg::DeleteRegVal()

{

HKEY hKey;

LPCTSTR lpRun = TEXT("Software//Microsoft//Windows//CurrentVersion//Run");

long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpRun,0,KEY_WRITE,&hKey);

?

if(lRet == ERROR_SUCCESS)

{

lRet = RegDeleteValue(hKey, TEXT("DeviceList"));

if(ERROR_SUCCESS == lRet)

{

MessageBox(TEXT("Delete Regedit Success!"),NULL,MB_OK);

}

RegCloseKey(hKey);

}

?

}

//讀注冊(cè)表花了我很長(zhǎng)時(shí)間

long CDevListDlg::OnQuery() { UpdateData(true); HKEY hKey; DWORD KeyType; DWORD DataSize; LPCTSTR data_set = TEXT("Software//Microsoft//Windows//CurrentVersion//Run"); long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_READ,&hKey)); if(ret0!=ERROR_SUCCESS) { AfxMessageBox(TEXT("Error:cannot open hKEY")); } long ret1= RegQueryValueEx(hKey,L"DeviceList",0,&KeyType,NULL,&DataSize); if(ret1==ERROR_SUCCESS) { return ret1; } RegCloseKey(hKey); UpdateData(false); return -1; }

?

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的vs2008环境下MFC对注册表的读写操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。