验证reg注册表的操作
// wRegKey
class wRegKey
{
// Operations
public:
BOOL Create(HKEY hKeyParent, LPCTSTR lpszKeyName
, LPTSTR lpszClass = REG_NONE
, DWORD dwOptions = REG_OPTION_NON_VOLATILE
, REGSAM samDesired = KEY_ALL_ACCESS
, LPSECURITY_ATTRIBUTES lpSecAttr = NULL
, LPDWORD lpdwDisposition = NULL);
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired = KEY_ALL_ACCESS);
void CloseKey();
public:
DWORD QueryValue(LPCTSTR lpszValueName, DWORD dwDefaultValue);
chString QueryValue(LPCTSTR lpszValueName, LPTSTR szDefaultValue);
BOOL SetValue(LPCTSTR lpszValueName, DWORD dwValue);
BOOL SetValue(LPCTSTR lpszValueName, LPCTSTR lpszValue);
BOOL DeleteValue(LPCTSTR lpszValueName);
BOOL DeleteSubKey(LPCTSTR lpszSubKeyName);
public:
// static
static BOOL SetKeyValue(HKEY hKeyParent, LPCTSTR lpszKeyName, LPCTSTR lpszValueName, LPCTSTR lpszDefaultValue);
static BOOL SetKeyValue(HKEY hKeyParent, LPCTSTR lpszKeyName, LPCTSTR lpszValueName, DWORD dwDefaultValue);
static BOOL DeleteKey(HKEY hKeyParent, LPCTSTR lpszKeyName);
static BOOL IsKeyExist(HKEY hKeyParent, LPCTSTR lpszKeyName);
static BOOL IsValueExist(HKEY hKeyParent, LPCTSTR lpszKeyName, LPCTSTR lpszValueName);
protected:
operator HKEY() const;
HKEY Detach();
void Attach(HKEY hKey);
public:
wRegKey();
wRegKey(LPCTSTR strKeyName, HKEY hParentKey = HKEY_LOCAL_MACHINE);
~wRegKey();
private:
// Attributes
HKEY m_hKey;
};
wRegKey key;
/*if(!key.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Multimedia\\Sound Mapper")))
{
return FALSE;
}*/
//找到系统的启动项
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//打开启动项Key
HKEY hKey;
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
bool isExist = key.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\windows\\currentVersion\\Run"), KEY_SET_VALUE);
if (!key.DeleteValue("YodaoDict"))
{
return FALSE;
}
char pFileName[100] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileName(NULL, pFileName, 100);
RegSetValueEx(hKey, "yecy", 0, REG_SZ, (const unsigned char*)(LPCTSTR)pFileName, dwRet);
/*wRegKey key;
if(!key.Create(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Control\\MediaResources\\SetupPreferredAudioDevices")))
{
return FALSE;
}
if(!textEMPTY("555555") && !key.SetValue(_T("Playback"), "333"))
{
return FALSE;
}*/
/*if(!textEMPTY("8888") && !key.SetValue(_T("Record"), "8888"))
{
return FALSE;
}*/
//key.CloseKey();
////wRegKey key;
//wRegKey openkey;
//if(!openkey.Open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Control\\MediaResources\\SetupPreferredAudioDevices"), KEY_QUERY_VALUE))
//{
// return FALSE;
//}
//
//UINT uCount = openkey.QueryValue(_T("Playback"), (DWORD)0);
//openkey.CloseKey();
//
//bool isExist = openkey.IsKeyExist(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet");
//if(!openkey.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Multimedia\\Sound Mapper")))
//{
// return FALSE;
//}
验证reg注册表的操作的更多相关文章
- 自己动手写reg注册表文件
自己动手写reg注册表文件 2015-01-12 20:23 1161人阅读 评论(1) 收藏 举报 分类: 玩转Windows应用层编程(12) 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- Windows 注册表常用操作
1 添加一个主键(比如在HKEY_LOCAL_MACHINE\SOFTWARE\中添加一个ABCEDFGHIJKLMN主键) Windows Registry Editor Version 5.00 ...
- C#对注册表的操作
C#中提供的与注册表相关的最主要的是两个类: Registry 和 RegistryKey,这两个类属于Microsoft.Win32命名空间 Registry类包含5个公共的静态域,分别代表5个基本 ...
- windows下注册表的操作
原博:https://blog.csdn.net/denghubu/article/details/5765921 1. 注册表简介 注册表是为Windows NT和Windows95中所 ...
- 一款基于jQuery的带Tooltip表单验证的注册表单
今天给大家分享一款基于jQuery的注册表单,这款注册表单的特点是确认提交注册信息时,表单会自动验证所填写的信息,如果信息填写有误,即会在相应的字段内以Tooltip提示框的形式显示错误信息.这款jQ ...
- C++Builder中注册表的操作
僮骶头浅5募虻チ耍旅嫖揖鸵砸桓鍪道此得鱐Registry类的用法.首先,先介绍一下TRegistry的属性和方法:TRegistry类一共有四个属性.属性 类型 描述CurrentKey int ...
- C#注册表常用操作
1:加键 改值 Microsoft.Win32.RegistryKey Key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey( @" ...
- Tooltip表单验证的注册表单
在线演示 本地下载
- delphi 注册表操作(读取、添加、删除、修改)完全手册
DELPHI VS PASCAL(87) 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...
随机推荐
- maven 常用的环境插件
<build> <finalName>yycgproject</finalName> <plugins> <!-- 修改jdk插件 --> ...
- 使用js生成下拉列表项
在项目中经常会使用到一个简单的表单元素,那就是下拉列表.但是由于企业的列表项并不是固定的,因此列表项的内容需要到数据库或者接口中取,因此怎样获取,并且能应用到 多个相似的下拉列表就需要思考一下. 我这 ...
- ftp put get 的使用方法
首先:ftp user@ip 登录到远程主机 成功后,输入ls,如下: ftp> ls 可以得到远程主机的本地目录. 一:get命令(从远程主机下载文件到本机): ftp> get (re ...
- ubuntu 解决更换源失败问题
用图形界面命令打开窗口在终端输入 gksudo nautilus打开一个图形窗口 (注意在这个图形窗口下 任何目录下的文件都是可以删除的) /ect/apt删除下面的sources.list和备份文件 ...
- 【问题】:spring cloud sleuth日志组件冲突问题
在使用spring cloud sleuth的时候,启动工程报错如下: 根据错误信息明显就是jar包冲突,spring boot默认用的是logback,所以移除其中一个依赖就可以了,修改pom依赖为 ...
- python tensorflow 学习
Tensorflow系列——Saver的用法:http://blog.csdn.net/u011500062/article/details/51728830 Tensorflow学习系列(二): t ...
- Elasticsearch宕机问题
个人博客:https://blog.sharedata.info/ Elasticsearch 突然宕机,每次重启都只生成错误日志报错信息:## There is insufficient memor ...
- 【BZOJ1061/3265】[Noi2008]志愿者招募/志愿者招募加强版 单纯形法
[BZOJ1061][Noi2008]志愿者招募 Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募 ...
- 【BZOJ3991】[SDOI2015]寻宝游戏 树链的并+set
[BZOJ3991][SDOI2015]寻宝游戏 Description 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩 ...
- Collective Mindsets (medium) (逻辑题)
B - Collective Mindsets (medium) Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I6 ...