如何在注册表中动态添加和删除键名和键值?

programCat 2000-08-28 07:34:00
在我的程序中有两个按钮用于添加和删除键名,
键名 键值
1 a
2 b
... ...

我的程序在启动时会去读这些键,如何确定这些键是否存在,
我想设一个键来记录键的个数,但如何去读这些键?
怎么知道1是否存在,2是否存在。
拜托各位。
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
programCat 2000-08-30
  • 打赏
  • 举报
回复
to celxta and gateh:
我想你们都误会我的意思了。
我的这个问题的实质是我要取得注册表中特定目录下的所有键的名字和值,也就是穷举所有的键。
例如:

在HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run下有
SystemTray "SystemTray.exe"
Iexplorer "Iexplorer.exe"
这两个键,我事先并不知道它们的存在,那么我要如何穷举它们呢?
gateh 2000-08-28
  • 打赏
  • 举报
回复
其实这个问题还有更简便的方法,
那就是采用
CRegKey 这个类
该类有一个函数是用以进行查询某个键的值,如果该不存在,就会返回相应的值
有一个写入函数,可以在任何地方写。
采用这种方法比调用API简单多了!
celxta 2000-08-28
  • 打赏
  • 举报
回复
看看该例:
char exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
HKEY phkResult;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&phkResult);
RegSetValueEx((HKEY)phkResult,"VODWebServer",0,REG_SZ,(const unsigned char *)exeFullPath,MAX_PATH);
RegCloseKey(phkResult);
120项注册表优化键值,非常适用。 很多和系统有关的注册表文件! 部分优化列表 +加快局域网访问速度 +加快搜索网上邻居的速度 +开启 IE 自动缩图功能 +下载完成自动关闭 +减少开关机速度系列 +打开启动优化功能 +加快程序运行速度 +加快菜单显示速度 +加速打开我的电脑和Explorer -禁止默认共享 -清除共享文件夹 -禁用简单文件共享 +防火墙允许访问共享文件 -跳过internet连接向导 -禁用IEs cript错误报告 -禁止显示s cript错误通知 -禁止显示友?**ttp错误 -关闭XP文件保护 -删除多余开机程序 -关闭桌面清理向导 -关闭分组相似任务栏按钮 -禁止Windows漫游气球提醒 -不缓存缩略图 -删除图标快捷方式的字样 -禁止高亮显示新安装的程序(开始菜单) -禁用杀毒软件提醒 -禁用防火墙提醒 -禁用自动更新提醒 +打开自动更新 -关闭错误报告 -关闭系统还原 -禁止远程修改注册表 -禁用远程注册表服务 -禁用索引服务 -禁用帮助支持心 -禁用安全心 -禁用Messenger服务 -关闭计划任务 +允许为回收站重命名 +在程序组显示管理工具 +显示所有文件扩展名 +显示桌面系统图标 +显示快速启动 -禁止启动时候弹出错误信息 -系统失败(禁止自动重启,不发送管理警报,不写入调试信息) -禁用ZIP功能 -关闭"压缩旧文件"功能 +修复AMD处理器的AGP内存分页问题 +使XP系统支持136G以上的硬盘 -去掉右键“新建”的BMP、WAV等 +让Winodws进行最大限度搜索,包括隐藏文件夹 -禁止跟踪损坏的快捷方式 -禁用搜索助手并使用高级所搜 -移去开始的“帮助”菜单 -彻底关闭华生医生 -安装驱动时不搜索Windows Update +添加右键用记事本打开 +添加右键“Dos 在这里” +用记事本打开nfo文件 +给“我的电脑”的右键菜单添加(服务,控制,设备)命令菜单 +为IE7加上几个常用搜索选择
注册表修改大全 作者:Sunny 编辑:Sunny 编辑日期:2002年12月17日 23:11分 :http://www.sunny.com/WinME : sunny@elong.com ★ 更改关闭应用程序时出现“等待”对话框的时间 有时应用程序因某种原因,会没有响应,当我们按下CTRL+ALT+DEL来结束应用程序时,系统要等一段时间才能结束任务,我们可以修改注册表来减少这段时间。 打开注册表,找到主键:“HKEY_CURRENT_USER\Control Panel\desktop”,在右侧窗口新建一“字符串值”,将其命名为“WaitToKillAppTimeOut”。双击“WaitToKillAppTimeOut,然后在“编辑字符串”对话框的“键值”框输入5000(单位为ms,缺省值为20000ms,即20秒),为了缩短系统关闭应用的等待时间,您可以将此等待时间降低为20000ms以下,如10000ms、15000ms等。 ★ 启动时给自己个欢迎窗口 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon”,在右边窗口新建两个字符串,“LegalNoticeCaption”和“LegalNoticeText”。 “LegalNoticeCaption”是指弹出窗口的标题,修改它的值。在这里自己可以随便起个名字如“我的计算机”。 "LegalNoticeText",是指你想在登录对话框显示的文字,如改为“祝你今天工作愉快!”这样,以后启动电脑时会自动弹出这个欢迎框。 ★ 设定口令的最小长度 通常登陆口令可以设置为空。为了安全起见,可以设定口令的最小长度,以防止口令被破解。 打开注册表编辑器,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Polices\ Network”键下。 在右侧窗口新建二进制键值“MinPwdLen”,值为设定的口令的最小长度,默认值为0,表示口令可以为空。如设为“3”,则口令最小长度为3。 ★使Windows口令必须为数字和字母 设定口令为字母和数字,可以增加别人破你的口令的难度,如果口令长度足够长,则很难破解。打开注册表,找到: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network分支,在右窗格内新建一个DWORD值为“AlphanumPwds”,修改“AlphanumPwds”键值,在出现的对话框的“键值”框内输入1。 ★ 防止匿名用户登录 WINDOWS的本身的登陆窗口安全性很差,在不知道口令的情况下可以轻易点“取消”或按“ESC”键轻松进入。修改注册表可以防止匿名用户登陆。 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\Network\Logon”,新建DWORD值,名为“MustBeValidated”,键值为“1”;再重新启动机器后,你会发现通过点击Cancel按钮进Windows的办法已经不灵了。(如果自己都进不去了,可以以安全模式进入,然后将其值改为0。) ★禁用注册表编辑器Regedit 通过修改注册表,可以控制整个机器,可以禁止修改注册表,防止别人破坏HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,如果你发现“Policies”下面没有“System”,则在它下面新建一个主键,名字就是“"System”,然后在右侧窗口新建一个DWORD,名字取为“DisableRegistryTools”,修改它的值为“1”,以后,别人、甚至是你都无法再用regedit.exe 啦,如果要恢复的话,用记事本建立一个REG.REG文件,保存后双击即可导入注册表 REGEDIT 4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000 。 ★禁用口令缓存 打开注册表,找到主键: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Ne

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧