#include <windows.h>
#include <stdio.h>int main(void)
{
char vValue[MAX_PATH]={0};
HKEY hKey;
DWORD nSize=MAX_PATH;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\Explorer",0,KEY_ALL_ACCESS,&hKey );
RegQueryValueEx(hKey,"NoLowDiskSpaceChecks",NULL,NULL,(BYTE*)vValue,&nSize);
RegCloseKey(hKey);
MessageBox(NULL,vValue,"键值",MB_OK);
return true; 
}对话框中输出的是一个乱码,请问如何将这个reg dword输出的时候不是乱码,应该输出1或者0啊。

解决方案 »

  1.   

    你获取的REG_DWORD类型的值还是REG_SZ类型的值
    是DWORD的话
    DWORD dwValue = 0;
    nSize = sizeof(DWORD);
    RegQueryValueEx(hKey,"NoLowDiskSpaceChecks",NULL,NULL,(BYTE*)dwValue,&nSize); 
    sprintf(vValue,"%d",dwValue);
    MessageBox(NULL,vValue,"键值",MB_OK); 
      

  2.   

    DWORD dwValue = 0;
    nSize = sizeof(DWORD);
    RegQueryValueEx(hKey,"NoLowDiskSpaceChecks",NULL,NULL,(BYTE*)&dwValue,&nSize);
    sprintf(vValue,"%d",dwValue);
    MessageBox(NULL,vValue,"键值",MB_OK);