zoukankan      html  css  js  c++  java
  • VC 注册表操作

    1.创建 、打开注册表

    LONG RegQueryValueEx(

      HKEY hKey, // handle to key

      LPCTSTR lpValueName, // value name

      LPDWORD lpReserved, // reserved

      LPDWORD lpType, // type buffer

      LPBYTE lpData, // data buffer

      LPDWORD lpcbData // size of data buffer

      );

      说明

      获取一个项的设置值

      返回值

      Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

      参数表

      参数 类型及说明

      HKEY hKey,一个已打开项的句柄,或者指定一个标准项名

      LPCTSTR lpValueName,要获取值的名字

      LPDWORD lpReserved,未用,设为零

      LPDWORD lpType,用于装载取回数据类型的一个变量

      LPBYTE lpData,用于装载指定值的一个缓冲区

      LPDWORD lpcbData,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数

      lpValueName 指向要查询值的名字的字符串(以空字符结束)。 如果lpValueName是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。 Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过RegSetValueEx指定一个默认值为不同的类型。 Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。

    2.值查询

    LONG RegQueryValueEx(

      HKEY hKey, // handle to key

      LPCTSTR lpValueName, // value name

      LPDWORD lpReserved, // reserved

      LPDWORD lpType, // type buffer

      LPBYTE lpData, // data buffer

      LPDWORD lpcbData // size of data buffer

      );

      说明

      获取一个项的设置值

      返回值

      Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

      参数表

      参数 类型及说明

      HKEY hKey,一个已打开项的句柄,或者指定一个标准项名

      LPCTSTR lpValueName,要获取值的名字

      LPDWORD lpReserved,未用,设为零

      LPDWORD lpType,用于装载取回数据类型的一个变量

      LPBYTE lpData,用于装载指定值的一个缓冲区

      LPDWORD lpcbData,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数

      lpValueName 指向要查询值的名字的字符串(以空字符结束)。 如果lpValueName是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。 Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过RegSetValueEx指定一个默认值为不同的类型。 Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。

    3.删除

     RegDeleteValue

    4.查询

    RegQueryKeyEx

     1 void CreateStringReg(HKEY hRoot,char *szSubKey,char *valueName,char *data)
     2 {
     3     HKEY hKey;
     4 
     5     long lRet = RegCreateKeyEx(hRoot,szSubKey,0,NULL,REG_OPTION_NON_VOLATILE,
     6         KEY_ALL_ACCESS,NULL,&hKey,NULL);
     7     if (lRet != ERROR_SUCCESS)
     8     {
     9         MessageBox(NULL,"创建或者打开注册表失败","创建、打开注册表",0);
    10         return;
    11     }
    12 
    13     /*
    14     This function stores data in the value field of an open registry key.
    15     It can also set additional value and type information for the specified key.    
    16     */
    17     lRet = RegSetValueEx(hKey,valueName,0,REG_SZ,(BYTE *)data,strlen(data));
    18     if(lRet != ERROR_SUCCESS)
    19     {
    20         MessageBox(NULL,"设定注册表值失败","设置",0);
    21         return;
    22     }
    23 
    24     RegCloseKey(hKey);
    25 }
    26 
    27 
    28 
    29 int APIENTRY WinMain(HINSTANCE hInstance,
    30                      HINSTANCE hPrevInstance,
    31                      LPSTR     lpCmdLine,
    32                      int       nCmdShow)
    33 {
    34      // TODO: Place code here.
    35 
    36 
    37     char startPage[255] = "http://www.google.com/";
    38     
    39 
    40     CreateStringReg(HKEY_CURRENT_USER,"Software\\Microsoft\\Internet Explorer\\Main","Start Page",startPage);
    41 
    42     return 0;
    43 }
  • 相关阅读:
    javaEE企业级基础介绍(一)
    SQL学习笔记系列(十)窗口函数
    SQL学习笔记系列(九)索引优化分析
    Tableau教程笔记
    淘宝用户行为分析--基于MySQL、Tableau
    Stop thinking,start living--《心灵奇旅》观后感
    SQL刷题
    SQL学习笔记系列(八)流程控制结构
    SQL学习笔记系列(七)存储过程和函数
    在超算系统上使用sbatch提交MXNet分布式训练任务
  • 原文地址:https://www.cnblogs.com/cody1988/p/2502351.html
Copyright © 2011-2022 走看看