// 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. CentOS 没有可用软件包 libmcrypt

    [1]安装libmcrypt 提示:没有可用软件包 解决办法: 1.安装第三方yum源 1.1 wget http://www.atomicorp.com/installers/atomic 1.2 ...

  2. [转]postman 官方文档解说

    1. 安装 两种安装方式,我热衷于以chrome插件形式安装 Chrome插件 Mac App 2. 发送请求 Postman最基础的功能就是发送http请求,支持GET/PUT/POST/DELET ...

  3. thinkPHP5.0的学习研究【基础】

    2017年6月19日13:25:56 基础:1.ThinkPHP5的环境要求如下: PHP >= 5.4.0        PDO PHP Extension        MBstring P ...

  4. python mysql orm

    Python中操作mysql的pymysql模块详解:https://www.cnblogs.com/wt11/p/6141225.html Python 12 - Mysql & ORM:h ...

  5. (转)linux设备驱动之USB数据传输分析 二

    3.2:控制传输过程1:root hub的控制传输在前面看到,对于root hub的情况,流程会转入rh_urb_enqueue().代码如下:static int rh_urb_enqueue (s ...

  6. Cow Contest(传递闭包)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10450   Accepted: 5841 Desc ...

  7. web 文件下载

    response.reset(); response.setContentType("octets/stream"); response.addHeader("Conte ...

  8. elasticsearch从入门到出门-01windows上安装使用

    elasticsearch 1.安装JDK,至少1.8.0_73以上版本,java -version2.下载和解压缩Elasticsearch安装包,目录结构3.启动Elasticsearch:bin ...

  9. 【python】-- 递归函数、高阶函数、嵌套函数、匿名函数

    递归函数 在函数内部,可以调用其他函数.但是在一个函数在内部调用自身,这个函数被称为递归函数 def calc(n): print(n) if int(n/2) == 0: #结束符 return n ...

  10. ExtASPNet web.config

    [转CSDN]:http://download.csdn.net/download/mcqq123321/4607708 修改 Web.config 打开 web.config,在 configura ...