最近修改一个在vs2008环境下的MFC project,其中用到对注册表的读写操作,虽然在网上down了不少代码也查阅了不少文章,但运行始终存在不少问题,现把我运行成功的代码分享出来,希望对有需要的有些帮助,代码如下:

代码是在HKEY_LOCAL_MACHINE//Software//Microsoft//Windows//CurrentVersion//Run下添加一条开机自动运行的exe文件。

//写注册表

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);

}

}

//读注册表花了我很长时间

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; }

vs2008环境下MFC对注册表的读写操作相关推荐

  1. Windows注册表的读写操作

    目录 1 注册表(Registry)介绍 1.1 注册表简介 1.2 注册表位置 1.3 开启/禁用 注册表编辑器 1.4 注册表的结构 1.5 修改注册表实例 2 程序中对注册表的读写操作 2.1 ...

  2. Windows如何读取Linux,Linux下读取Windows注册表

    原本以为Linux下读取Windows的注册表是个异想天开.无法实现的想法,忽然发现了老外写的一段小文章 http://www.linuxidc.com/Linux/2011-04/34100p2.h ...

  3. 注册表关闭命令提示符_如何从命令提示符下编辑Windows注册表

    注册表关闭命令提示符 Windows and a lot of third-party apps store settings in the registry. If you're wanting t ...

  4. windowsMobile 注册表136个操作

    注册表修改详解方案集合 (136个修改操作) 1.修改"china Mobile"方法:在桌面的"中国移动"随你自己心愿修改! 具体操作如下: HKEY_LOC ...

  5. 利用java poi对excel表的读写操作

    2019独角兽企业重金招聘Python工程师标准>>> 利用java poi对excel表的读写操作 POI简介: Apache POI是一种流行的API,它允许程序员使用Java程 ...

  6. VS2010环境下MFC使用DataGrid绑定数据源以及控件注册问题解决

    http://www.cnblogs.com/panweishadow/archive/2013/07/25/3214629.html 参考:http://blog.csdn.net/fddqfddq ...

  7. mysql生产环境加索引_【生产篇】_MySQL环境下如何查看基于表的索引定义

    [引言] 今天中午项目组来一需求,欲在MySQL环境的某张表下创建几个BTREE索引.要创建索引,首先需要了解基表的表结构,以及已经包含的索引.Oracle的表结构大家都很熟悉,但MySQL表结构和已 ...

  8. cmd命令行下常见的注册表操作

    基础知识 注册表的五个根建 hkey classes root,里面存储着应用程序启动所需要的所有信息,有扩展名,启动对应扩展名文件所需要的程序等. HKCU hkey current user,存储 ...

  9. VC++ MFC 遍历注册表,获取网卡名称。(设备管理器中的名称)

    HKEY hKey_tmp = NULL, hKey = NULL;TCHAR comNum[64],achKey[64];CString comname,sActive,temp;DWORD cbM ...

最新文章

  1. Myeclipse安装、配置、测试
  2. [转]大三下,我们该做什么?一篇被转万次的日志,你值得一看
  3. 32时间片轮转_系统时间
  4. 河北计算机一级考试题库操作题,年河北计算机一级操作题题库及答案.doc
  5. 为什么设计师创造的编程语言更受欢迎?
  6. nfs服务器工作原理
  7. image.resize()==>返回此图像的大小调整后的副本
  8. trang.jar转换xml到Javabean
  9. 【Flink】Flink + Drools 构建规则模型
  10. 挺起基础软件自主创新的脊梁 锐易特软件荣获2008中国软件信息化创新奖
  11. ArcGIS 导出点图层的中的XY坐标
  12. Android权限之sharedUserId和签名
  13. 用AdobePageMaker制作PDF文档
  14. php自动生成试卷,基于jQuery的试卷自动排版系统实现代码
  15. 土方工程量计算表格excel_市政道路土方excel计算表(含公式)
  16. html5在线编辑器效果和源码
  17. RouterPassView – 路由密码查看器
  18. 朋友圈微信投票很麻烦?python开发个自动化刷票脚本,再也不用头痛了!
  19. 树莓派 环绕立体声卡 Audio Injector Octo 安装与测试
  20. 身份证号验证(正则升级版)

热门文章

  1. C# 弹出确定、取消窗口
  2. hadoop中如何动态更新集群队列和容量
  3. Java用JSONObject-lib来解析json串
  4. 如何让插件加载到Qt Designer
  5. 无法加载登录用户界面DLL MyGina.dll 解决
  6. o2 atom(HP rw68xx)系列手机将可以使用Android。
  7. ABAP:向自建表写入数据时,需要注意的问题
  8. PowerShell渗透工具Nishang
  9. 【Python数据挖掘课程】九.回归模型LinearRegression简单分析氧化物数据
  10. HarmonyOS之常用组件RoundProgressBar的功能和使用