部分代码如下
if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,(unsigned char *)time,&dwLength)==ERROR_SUCCESS) //1
{
.......
}
lpValueName=“ddd”;
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,(unsigned char *)time,&dwLength)==ERROR_SUCCESS)//2
{
.......
}
}
两次查询的lpValueName不同。 第一次查询能成功,而第二次就出错了,分开测试都是通过,正确的?
请高手指教
if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,(unsigned char *)time,&dwLength)==ERROR_SUCCESS) //1
{
.......
}
lpValueName=“ddd”;
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,(unsigned char *)time,&dwLength)==ERROR_SUCCESS)//2
{
.......
}
}
两次查询的lpValueName不同。 第一次查询能成功,而第二次就出错了,分开测试都是通过,正确的?
请高手指教
解决方案 »
- 一个关于BMP图象颜色表的一个小问题。
- ★ 困惑的问题: 抓屏幕 ★
- 主框架窗口和子对话框如何传递消息?
- 100分!!双击对话框上的控件(按钮等)Class wizard没有反应。而且不能给所有对话框中的任何控件添加成员变量,怎么解决??
- 视频捕捉卡的控制?
- CString 和 CEdit
- 怎么tm改来改去的啊
- 请做过翻译软件的高手和有这方面知识的高手以及斑主帮忙
- mfc中如何定义一个全局函数?使所有类都能调用?
- 如何用MFC的滑块控件实现比例尺的功能
- 菜鸟求答吖~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CXXDialog 如何能捕捉到界面外的鼠标单击消息, / 如何能让一个菜单CMENU在显示中, 关掉, 正如菜单ITEM单击那样
LPBYTE time2 = new BYTE[100];if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time1 ,&dwLength)==ERROR_SUCCESS) //1if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time2,&dwLength)==ERROR_SUCCESS) //1delete[] time1;
delete[] time2;
还有个问题就是昨天我也是用你的这个方法。只不过我把变量是如下声名的,就出现上述问题。
LPBYTE time1 = new BYTE[100];
if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time1 ,&dwLength)==ERROR_SUCCESS)
......}
if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
LPBYTE time2 = new BYTE[100];//---------
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time2 ,&dwLength)==ERROR_SUCCESS)
......}这样就不行了。
if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time1 ,&dwLength)==ERROR_SUCCESS)
......}RegCloseKey(hKey);if(RegOpenKeyEx(HKEY_CURRENT_USER,lpSubKey,0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
LPBYTE time2 = new BYTE[100];//---------
if(RegQueryValueEx(hKey,lpValueName,NULL,&dwType,time2 ,&dwLength)==ERROR_SUCCESS)
......}这样就不行了。
memset( time,0, sizeof(time));
dwLength = 4096;
因为第一次查询时, 这些值已经产生了变化