天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 77|回复: 0

arx ARX注册表操作函数集

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]const TCHAR *
        RegGetString(HKEY hKey, const TCHAR *subKey, const TCHAR *name)
{
        HKEY hSubKey;
        DWORD type;
        static TCHAR value[4096];
        DWORD size = sizeof(value);

        value[0] = _T('\0');
        if ( RegOpenKeyEx(hKey, subKey, 0, KEY_QUERY_VALUE, &hSubKey) == ERROR_SUCCESS )
        {
                if ( (RegQueryValueEx(hSubKey, name, 0, &type, (LPBYTE)value, &size) != ERROR_SUCCESS) ||
                        (type != REG_SZ) )
                        value[0] = _T('\0');
                RegCloseKey(hSubKey);
        }

        return value;
}

int
        RegPutString(HKEY hKey, const TCHAR *subKey, const TCHAR *name, const TCHAR *value)
{
        HKEY hSubKey;
        DWORD disp;
        int retval = 0;

        if ( RegCreateKeyEx(hKey, subKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSubKey, &disp) == ERROR_SUCCESS )
        {
                if ( RegSetValueEx(hSubKey, name, 0, REG_SZ, (LPBYTE)value, (_tcslen(value) + 1) * sizeof(TCHAR)) == ERROR_SUCCESS )
                        retval = 1;
                RegCloseKey(hSubKey);
        }
        return retval;
}

int
        RegGetInt(HKEY hKey, const TCHAR *subKey, const TCHAR *name)
{
        HKEY hSubKey;
        DWORD type;
        DWORD value = 0;
        DWORD size = sizeof(value);
        if ( RegOpenKeyEx(hKey, subKey, 0, KEY_QUERY_VALUE, &hSubKey) == ERROR_SUCCESS )
        {
                if ( (RegQueryValueEx(hSubKey, name, 0, &type, (LPBYTE)&value, &size) != ERROR_SUCCESS) ||
                        (type != REG_DWORD) )
                        value = 0;
                RegCloseKey(hSubKey);
        }
        return value;
}

int
        RegPutInt(HKEY hKey, const TCHAR *subKey, const TCHAR *name, int value)
{
        HKEY hSubKey;
        DWORD disp;
        int retval = 0;
        if ( RegCreateKeyEx(hKey, subKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSubKey, &disp) == ERROR_SUCCESS )
        {
                if ( RegSetValueEx(hSubKey, name, 0, REG_DWORD, (LPBYTE)&value, sizeof(value)) == ERROR_SUCCESS )
                        retval = 1;
                RegCloseKey(hSubKey);
        }
        return retval;
}

int RegPut_B (HKEY hKey,const TCHAR  *subKey,const TCHAR  *name,BYTE ReSetContent_B[65536])
{
        //设置二进制值函数
        int i=0; //操作结果:1==succeed
        if(RegOpenKeyEx(hKey,subKey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
        {
                i=1;
                if(RegSetValueEx(hKey,name,NULL,REG_BINARY,ReSetContent_B,65536)!=ERROR_SUCCESS)
                {
                        //AfxMessageBox("错误:无法设置有关的注册表信息");
                        i=0;
                }
                RegCloseKey(hKey);
        }
        else
        {
                //AfxMessageBox("错误:无法查询有关的注册表信息");
                i=0;
        }
        return i;
}

int RegGet_B(HKEY hKey, const TCHAR *subKey, const TCHAR *name, BYTE value_B[65536])
{
        HKEY hSubKey;
        DWORD type;
        int rt=0; //操作结果:1==succeed
        DWORD size = 65536; //buffsize
        if ( RegOpenKeyEx(hKey, subKey, 0, KEY_QUERY_VALUE, &hSubKey) == ERROR_SUCCESS )
        {
                rt = 1;
                if ( (RegQueryValueEx(hSubKey, name, 0, &type, (LPBYTE)value_B, &size) != ERROR_SUCCESS) ||
                        (type != REG_BINARY) )
                        rt = 0;
                RegCloseKey(hSubKey);
        }
        return rt;

}[/code]

 

 

 

 

arx ARX注册表操作函数集
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:22 , Processed in 0.143364 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表