VC小技巧(7)-----注册表的简单设置和查询函数
2006-10-13 15:51
387 查看
注册表记录着软硬件的一些信息
对于程序开发者来说,注册表也是一个不错的存放信息的容器!有时候用注册表记录一些软件的重要参数,或者是记录当前某些值,使软件在下次执行时保持当前值。
DWORD SetRegistry(char *szRegPort, char *szKey, char *szValue)
{
char ValueName[128];
HKEY hkPort;
DWORD cbData = 256;
DWORD retCode, dwDisp;
if ((retCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE, szRegPort, 0, NULL, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, NULL, &hkPort, &dwDisp)) == ERROR_SUCCESS)
{
lstrcpy(ValueName, szKey);
retCode = RegSetValueEx(hkPort, // Key handle returned from RegOpenKeyEx.
ValueName, // Name of value.
0, //reserved , must be null
REG_SZ, // Type of data.
(PBYTE)szValue, // Data buffer.
strlen(szValue)); // Size of data buffer.
RegCloseKey(hkPort);
}
return retCode;
}
DWORD QueryRegistry(char *szRegPort, char *szKey, char *szValue)
{
char ValueName[128];
HKEY hkPort;
BYTE bData[256]; // in registry the max length is banner user name
DWORD cbData = 256;
DWORD retCode;
DWORD dwType=REG_SZ;
if ((retCode = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegPort, 0, KEY_EXECUTE, &hkPort)) == ERROR_SUCCESS)
{
lstrcpy(ValueName, szKey);
retCode = RegQueryValueEx (hkPort, // Key handle returned from RegOpenKeyEx.
ValueName, // Name of value.
NULL, //reserved , must be null
&dwType, // Type of data.
bData, // Data buffer.
&cbData); // Size of data buffer.
if (retCode == ERROR_SUCCESS)
{
strcpy(szValue,(const char*)bData);
}
RegCloseKey(hkPort);
}
return retCode;
}
对于程序开发者来说,注册表也是一个不错的存放信息的容器!有时候用注册表记录一些软件的重要参数,或者是记录当前某些值,使软件在下次执行时保持当前值。
DWORD SetRegistry(char *szRegPort, char *szKey, char *szValue)
{
char ValueName[128];
HKEY hkPort;
DWORD cbData = 256;
DWORD retCode, dwDisp;
if ((retCode=RegCreateKeyEx(HKEY_LOCAL_MACHINE, szRegPort, 0, NULL, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, NULL, &hkPort, &dwDisp)) == ERROR_SUCCESS)
{
lstrcpy(ValueName, szKey);
retCode = RegSetValueEx(hkPort, // Key handle returned from RegOpenKeyEx.
ValueName, // Name of value.
0, //reserved , must be null
REG_SZ, // Type of data.
(PBYTE)szValue, // Data buffer.
strlen(szValue)); // Size of data buffer.
RegCloseKey(hkPort);
}
return retCode;
}
DWORD QueryRegistry(char *szRegPort, char *szKey, char *szValue)
{
char ValueName[128];
HKEY hkPort;
BYTE bData[256]; // in registry the max length is banner user name
DWORD cbData = 256;
DWORD retCode;
DWORD dwType=REG_SZ;
if ((retCode = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegPort, 0, KEY_EXECUTE, &hkPort)) == ERROR_SUCCESS)
{
lstrcpy(ValueName, szKey);
retCode = RegQueryValueEx (hkPort, // Key handle returned from RegOpenKeyEx.
ValueName, // Name of value.
NULL, //reserved , must be null
&dwType, // Type of data.
bData, // Data buffer.
&cbData); // Size of data buffer.
if (retCode == ERROR_SUCCESS)
{
strcpy(szValue,(const char*)bData);
}
RegCloseKey(hkPort);
}
return retCode;
}
相关文章推荐
- 关于mysql 简单的查询语句 以及常用函数的 总结
- 关于mysql 简单的查询语句 以及常用函数的 总结
- VC API常用函数简单例子大全六
- VC API常用函数简单例子大全十二(上)
- VC API常用函数简单例子大全一
- JQuery设置缓慢下拉大行多次执行的解决办法,以及stop()函数的简单理解
- [C++]用VC++来设置获得注册表的键值(问题解决)
- 【代码备忘录】VC设置您的计算机环境变量、注册表操作
- VC程序实现根据文件后缀名查询注册表并用查询结果运行打开程序打开对应文件
- Mysql上查询字段多行变成一行,函数小技巧.
- jsp单页面数据库查询模板:支持分页、排序、简单搜索、设置每页显示页数功能
- VC API常用函数简单例子大全(1-89)
- 关于mysql 简单的查询语句 以及常用函数的 总结
- 关于mysql 简单的查询语句 以及常用函数的 总结
- VC注册表简单操作
- VC API常用函数简单例子大全七
- VC API常用函数简单例子大全十二(下)
- VC API常用函数简单例子大全二
- vc 写注册表设置程序自动启动
- (小技巧)SQL Server Management提供的最简单的SQL查询语句格式化