比如我想读取注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\rising\Rav]
"installpath"
的内容后生成到一个文本文档中.假设"installpath"的内容="D:\\Program Files\\Rising\\Rav"请问具体写法..谢谢!!!

解决方案 »

  1.   

    LONG lvalue;
    RegQueryValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\rising\\Rav",NULL,&lvalue);
    char *pBuf = new char[lvalue];
    RegQueryValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\rising\\Rav",pBuf,&lvalue);
             FILE *pFile = fopen("TEXT.txt", "w");
    fwrite(pBuf, 1, lvalue, pFile);
    fclose(pFile);
      

  2.   

    LONG lvalue;
    RegQueryValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\rising\\Rav",NULL,&lvalue);
             if(lvalue != ERROR_SUCCESS)
             
             MessageBox("请确认是否安装该软件","提示",MB_OK);     
                  
    char *pBuf = new char[lvalue];
    RegQueryValue(HKEY_LOCAL_MACHINE,"SOFTWARE\\rising\\Rav",pBuf,&lvalue);
             FILE *pFile = fopen("TEXT.txt", "w");
    fwrite(pBuf, 1, lvalue, pFile);
    fclose(pFile);MessageBox("请确认是否安装该软件","提示",MB_OK);
    请问这句是否合适加在那个地方.谢谢...
      

  3.   

    "installpath"的内容="D:\\Program Files\\Rising\\Rav"
      

  4.   

    謝謝,問題已解決!!!
    CString tmpstring;
    HKEY hKEY;
    LPCTSTR data_Set=_T("SOFTWARE\\rising\\Rav");
    long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_READ,&hKEY));
    if(ret0!=ERROR_SUCCESS)
    {
    TRACE("请确认是否已经安装了瑞星杀毒软件!");
    }
    BYTE owner_Get[256];
    DWORD type_1=REG_SZ;
    DWORD cbData_1=256;
    long ret1=::RegQueryValueEx(hKEY,_T("installpath"),NULL,&type_1,(LPBYTE)owner_Get,&cbData_1);
    if(ret1!=ERROR_SUCCESS)
    {
    TRACE("请确认是否已经安装了瑞星杀毒软件!");
    }
    tmpstring=owner_Get;
    CFile file("1.txt", CFile::modeCreate | CFile::modeWrite);
    file.Write(tmpstring, tmpstring.GetLength());
    file.Close();