char bufdata[1024];
DWORD buflen=1024;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);
RegQueryValueEx(hKey,"try",NULL,REG_SZ,bufdata,&buflen);

解决方案 »

  1.   

    请试一下
    LPBYTE lpData = new BYTE[20];
                    ^^^^^^^^^^^^
    LPDWORD lpcbData=0;
    LPTSTR pValue;
    pValue="try";//try为键的名称。
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);
    RegQueryValueEx(hKey,pValue,NULL,REG_SZ,lpData,lpcbData); 
                                     ^^^^^^
      

  2.   

    改为REG_SZ会出错。
    cannot convert parameter 4 from 'const int' to 'unsigned long *'用LPBYTE lpData = new BYTE[20];
    不知为何?望解答,谢谢。
      

  3.   

    请试一下:
    BYTE Data[20];
    DWORD dwDataType, cbData;
    dwDataType = cbData = 0;
    LPTSTR pValue = "try";
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);
    RegQueryValueEx(hKey,pValue,NULL,&dwDataType,&Data,&cbData); 
      

  4.   

    好了,还是masterz()的方法完全正确。
    LPBYTE lpData = new BYTE[20];
                    ^^^^^^^^^^^^
    LPDWORD lpcbData=20;
    LPTSTR pValue;
    pValue="try";//try为键的名称。
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);
    RegQueryValueEx(hKey,pValue,NULL,REG_SZ,lpData,lpcbData);