我想在HKEY_CURRENT_USER\Software\iOffice下注册一个表项为Icon,同时设置值为1,现时以后还想把它读出来,该如何做?iOffice还没有添加
谢谢!

解决方案 »

  1.   

    if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\iOffice", 0,KEY_READ,&hkey)!=ERROR_SUCCESS)
    {
      ::RegCreateKeyEx(HKEY_LOCAL_MACHINE, "Software\\iOffice", 0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL,hkey,NULL);
      ::RegSetValueEx(hkey,"Icon",0,1,
      (const unsigned char*)"1",2);
    }这样就可以创立这个表项,至于读出这个值,用RegQueryKeyEx就可以,具体的看一下MSDN.祝你好运!
      

  2.   

    CString strPath;
    long lnLen;
    long lnRet;
    long lType = REG_SZ;
    HKEY hkResult;
    char chBuf[_MAX_PATH];

    // マルチデバイスアプリへのパス /
    //レジストリのオープン
    lnRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE, "HKEY_CURRENT_USER\Software\iOffice", 0, KEY_READ, &hkResult);

    if(lnRet == ERROR_SUCCESS){
    int i = 2;
    }
    //マルチデバイスアプリへのパス
    if ( lnRet != ERROR_SUCCESS ) {}
    lnLen = _MAX_PATH;
    //レジストリの読み込み(マルチデバイス登録.exeへのパス)
    lnRet = RegQueryValueEx( hkResult, "Icon", NULL, (LPDWORD)&lType, (LPBYTE)chBuf, (LPDWORD)&lnLen); 
        if ( lnRet != ERROR_SUCCESS ) {
         strcpy(chBuf,"C:\\MakeSim"); // 初期値(取得できなかった場合)
    }
    strPath = chBuf;
    RegCloseKey( hkResult );