vs2008环境下MFC对注册表的读写操作
最近修改一个在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对注册表的读写操作相关推荐
- Windows注册表的读写操作
目录 1 注册表(Registry)介绍 1.1 注册表简介 1.2 注册表位置 1.3 开启/禁用 注册表编辑器 1.4 注册表的结构 1.5 修改注册表实例 2 程序中对注册表的读写操作 2.1 ...
- Windows如何读取Linux,Linux下读取Windows注册表
原本以为Linux下读取Windows的注册表是个异想天开.无法实现的想法,忽然发现了老外写的一段小文章 http://www.linuxidc.com/Linux/2011-04/34100p2.h ...
- 注册表关闭命令提示符_如何从命令提示符下编辑Windows注册表
注册表关闭命令提示符 Windows and a lot of third-party apps store settings in the registry. If you're wanting t ...
- windowsMobile 注册表136个操作
注册表修改详解方案集合 (136个修改操作) 1.修改"china Mobile"方法:在桌面的"中国移动"随你自己心愿修改! 具体操作如下: HKEY_LOC ...
- 利用java poi对excel表的读写操作
2019独角兽企业重金招聘Python工程师标准>>> 利用java poi对excel表的读写操作 POI简介: Apache POI是一种流行的API,它允许程序员使用Java程 ...
- VS2010环境下MFC使用DataGrid绑定数据源以及控件注册问题解决
http://www.cnblogs.com/panweishadow/archive/2013/07/25/3214629.html 参考:http://blog.csdn.net/fddqfddq ...
- mysql生产环境加索引_【生产篇】_MySQL环境下如何查看基于表的索引定义
[引言] 今天中午项目组来一需求,欲在MySQL环境的某张表下创建几个BTREE索引.要创建索引,首先需要了解基表的表结构,以及已经包含的索引.Oracle的表结构大家都很熟悉,但MySQL表结构和已 ...
- cmd命令行下常见的注册表操作
基础知识 注册表的五个根建 hkey classes root,里面存储着应用程序启动所需要的所有信息,有扩展名,启动对应扩展名文件所需要的程序等. HKCU hkey current user,存储 ...
- VC++ MFC 遍历注册表,获取网卡名称。(设备管理器中的名称)
HKEY hKey_tmp = NULL, hKey = NULL;TCHAR comNum[64],achKey[64];CString comname,sActive,temp;DWORD cbM ...
最新文章
- Myeclipse安装、配置、测试
- [转]大三下,我们该做什么?一篇被转万次的日志,你值得一看
- 32时间片轮转_系统时间
- 河北计算机一级考试题库操作题,年河北计算机一级操作题题库及答案.doc
- 为什么设计师创造的编程语言更受欢迎?
- nfs服务器工作原理
- image.resize()==>返回此图像的大小调整后的副本
- trang.jar转换xml到Javabean
- 【Flink】Flink + Drools 构建规则模型
- 挺起基础软件自主创新的脊梁 锐易特软件荣获2008中国软件信息化创新奖
- ArcGIS 导出点图层的中的XY坐标
- Android权限之sharedUserId和签名
- 用AdobePageMaker制作PDF文档
- php自动生成试卷,基于jQuery的试卷自动排版系统实现代码
- 土方工程量计算表格excel_市政道路土方excel计算表(含公式)
- html5在线编辑器效果和源码
- RouterPassView – 路由密码查看器
- 朋友圈微信投票很麻烦?python开发个自动化刷票脚本,再也不用头痛了!
- 树莓派 环绕立体声卡 Audio Injector Octo 安装与测试
- 身份证号验证(正则升级版)
热门文章
- C# 弹出确定、取消窗口
- hadoop中如何动态更新集群队列和容量
- Java用JSONObject-lib来解析json串
- 如何让插件加载到Qt Designer
- 无法加载登录用户界面DLL MyGina.dll 解决
- o2 atom(HP rw68xx)系列手机将可以使用Android。
- ABAP:向自建表写入数据时,需要注意的问题
- PowerShell渗透工具Nishang
- 【Python数据挖掘课程】九.回归模型LinearRegression简单分析氧化物数据
- HarmonyOS之常用组件RoundProgressBar的功能和使用