#include "stdafx.h"
#include "atlbase.h"//读取文本值
bool ReadString(CRegKey & key, CStringW valueName, CStringW & value)
{
TCHAR s[_MAX_PATH];
DWORD len = _MAX_PATH;
if(key.QueryStringValue(valueName, s, &len) == ERROR_SUCCESS)
{
value = s;
return true;
} return false;
}//读取bool值
bool ReadBoolean(CRegKey & key, CStringW valueName, bool & value)
{
CStringW s;
//先读取文本值
if(ReadString(key, valueName, s))
{
//判断其是否为true
value = (CStringW("true").CompareNoCase(s) == 0);
return true;
} return false;
}//读取DWORD值
bool ReadNumber(CRegKey & key, CStringW valueName, DWORD & value)
{
DWORD s;
if(key.QueryDWORDValue(valueName, s) == ERROR_SUCCESS)
{
value = s;
return true;
} return false;
}void ReadProps()
{
CRegKey key;
key.Open(HKEY_LOCAL_MACHINE, _T("Software\\bluejoe\\hotel")); CStringW hotelName, boss;
DWORD maxClients;
bool isOpen; ReadString(key, _T("hotelName"), hotelName);
ReadString(key, _T("boss"), boss);
ReadNumber(key, _T("maxClients"), maxClients);
ReadBoolean(key, _T("isOpen"), isOpen); _tprintf(_T("酒店: %s\r\n老板: %s\r\n最大顾客数: %d\r\n状态: %s\r\n"), hotelName, boss, maxClients, isOpen ? _T("开张") : _T("关闭"));
}int main()
{
setlocale(LC_ALL, "chs");
ReadProps();
system("pause"); return 0;
}
写不进去。
但是编译能运行啊。
#include "atlbase.h"//读取文本值
bool ReadString(CRegKey & key, CStringW valueName, CStringW & value)
{
TCHAR s[_MAX_PATH];
DWORD len = _MAX_PATH;
if(key.QueryStringValue(valueName, s, &len) == ERROR_SUCCESS)
{
value = s;
return true;
} return false;
}//读取bool值
bool ReadBoolean(CRegKey & key, CStringW valueName, bool & value)
{
CStringW s;
//先读取文本值
if(ReadString(key, valueName, s))
{
//判断其是否为true
value = (CStringW("true").CompareNoCase(s) == 0);
return true;
} return false;
}//读取DWORD值
bool ReadNumber(CRegKey & key, CStringW valueName, DWORD & value)
{
DWORD s;
if(key.QueryDWORDValue(valueName, s) == ERROR_SUCCESS)
{
value = s;
return true;
} return false;
}void ReadProps()
{
CRegKey key;
key.Open(HKEY_LOCAL_MACHINE, _T("Software\\bluejoe\\hotel")); CStringW hotelName, boss;
DWORD maxClients;
bool isOpen; ReadString(key, _T("hotelName"), hotelName);
ReadString(key, _T("boss"), boss);
ReadNumber(key, _T("maxClients"), maxClients);
ReadBoolean(key, _T("isOpen"), isOpen); _tprintf(_T("酒店: %s\r\n老板: %s\r\n最大顾客数: %d\r\n状态: %s\r\n"), hotelName, boss, maxClients, isOpen ? _T("开张") : _T("关闭"));
}int main()
{
setlocale(LC_ALL, "chs");
ReadProps();
system("pause"); return 0;
}
写不进去。
但是编译能运行啊。
解决方案 »
- 总算升星了,这么多年不容易啊。
- com接口传递自定义结构体数组。
- 利用回车键控制循环
- 如何编写IE插件,当鼠标出现在IE上的Flash或其它元素上时,出现一个按钮,就像迅雷的下载Flash按钮,或划词搜索
- 如何在菜单中间部分动态添加菜单项??
- 这里新开了一个 qq群 用于学习交流 vc 快快加入 群号18980290
- 我用VB写了一个很简单ActiveX的控件,怎么在VC中使用啊???
- 怎么样才能引起内存泄漏,请举例说明
- 大学,读到大学到底还是给别人打工去?
- 用VC如何通过IP地址取得该机器的网卡号
- 如何 用一块内存保存函数代码,要求C/C++语言,并解释下下面的代码,谢
- 有没有办法知道WriteFileEx或者ReadFileEx读取文件的进度?
HKEY hKey;
if( RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\MyTestReg"), 0, KEY_WRITE, &hKey ) == ERROR_SUCCESS )
{
DWORD dwData = 1;
DWORD cbData = sizeof(dwData);
long rt = RegSetValueEx( hKey, _T("test"), NULL, REG_DWORD, (LPBYTE)&dwData, cbData);
if ( rt == ERROR_SUCCESS)
{
RegCloseKey(hKey);
}
else
{
return;
}
}
else
{
return;
}