// 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注册表的操作的更多相关文章

  1. 自己动手写reg注册表文件

    自己动手写reg注册表文件 2015-01-12 20:23 1161人阅读 评论(1) 收藏 举报  分类: 玩转Windows应用层编程(12)  版权声明:本文为博主原创文章,未经博主允许不得转 ...

  2. Windows 注册表常用操作

    1 添加一个主键(比如在HKEY_LOCAL_MACHINE\SOFTWARE\中添加一个ABCEDFGHIJKLMN主键) Windows Registry Editor Version 5.00 ...

  3. C#对注册表的操作

    C#中提供的与注册表相关的最主要的是两个类: Registry 和 RegistryKey,这两个类属于Microsoft.Win32命名空间 Registry类包含5个公共的静态域,分别代表5个基本 ...

  4. windows下注册表的操作

    原博:https://blog.csdn.net/denghubu/article/details/5765921 1.       注册表简介 注册表是为Windows NT和Windows95中所 ...

  5. 一款基于jQuery的带Tooltip表单验证的注册表单

    今天给大家分享一款基于jQuery的注册表单,这款注册表单的特点是确认提交注册信息时,表单会自动验证所填写的信息,如果信息填写有误,即会在相应的字段内以Tooltip提示框的形式显示错误信息.这款jQ ...

  6. C++Builder中注册表的操作

    僮骶头浅5募虻チ耍旅嫖揖鸵砸桓鍪道此得鱐Registry类的用法.首先,先介绍一下TRegistry的属性和方法:TRegistry类一共有四个属性.属性 类型 描述CurrentKey int ...

  7. C#注册表常用操作

    1:加键 改值 Microsoft.Win32.RegistryKey Key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey( @" ...

  8. Tooltip表单验证的注册表单

    在线演示 本地下载

  9. delphi 注册表操作(读取、添加、删除、修改)完全手册

    DELPHI VS PASCAL(87)  32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...

随机推荐

  1. [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。

    背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /da ...

  2. Mysql----MySQL的mysql_insert_id和LAST_INSERT_ID(转)

    本文介绍的是mysql中last_insert_id和mysql_insert_id的区别 1 mysql_insert_id 一.PHP获取MYSQL新插入数据的ID mysql_insert_id ...

  3. json性能测试

    http://www.open-open.com/lib/view/open1434377191317.html

  4. SQL Server研究之统计信息—发现过期统计信息并处理具体解释

     前言: 统计信息是关于谓词中的数据分布的主要信息源,假设不知道详细的数据分布,优化器不能获得预估的数据集.从而不能统计须要返回的数据. 在创建列的统计信息后,在DML操作如insert.upda ...

  5. Cocos2d-x 3.2 之 别踩白块(第三篇)

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  6. web安全之SQL注入--第一章 课程介绍

    课程介绍1.什么是SQL注入?2.如何寻找SQL注入漏洞?3.如何进行sql注入攻击?4.如何预防sql注入5.课程总结

  7. 如何在iOS中使用libxml

    本文转载至 http://blog.csdn.net/cloudhsu/article/details/8087628 1. 选择xcode工程设定 2. 选择target 3. 选择Summary ...

  8. 使用onepage-scroll全屏滚动插件时的注意事项

    如果项目需要在移动端访问时需要设置responsiveFallback属性,并且在此之前还需要检测浏览器的级别(引入modernizr.js文件) var $responsiveFallback = ...

  9. Eclipse 查看第三方jar包文件源代码解决方法

    1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方jar 包,如Spring等相关的依赖包时,并没有附加下载相应的源文件,所以经常出现如图的这种问题. ...

  10. Spring @Configuration注解

    1 该注解的用途 这个注解表示这个类可以作为spring ioc容器bean的来源,其本质上它是对xml文件中创建bean的一种替换.有了这个注释,Spring framework就能在需要的时候构造 ...