Remoteregistry: Wert setzen



  • Hi, ich setze einen Wert auf einem anderen PC,
    auf dem ich mich zuvor angemeldet habe.
    Allerdings erscheint mein "Wert" dort mit drei Punkten

    "Max Muster..."

    Erst wenn ich manuell in der Registry nochmals den Wert mit "OK"
    bestätige wird er ohne diese Punkte geschrieben...??

    void CremoteregistryDlg::OnBnClickedButton1()
    {
     addReg("\\\\127.0.0.1", HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "Max Muster", "MyValue");
    
    }
    
    bool CremoteregistryDlg::addReg(CString sMachine, HKEY hDicRot, CString server_path, CString valPath, CString valNamePath)
    {
         HKEY hKey = NULL;
         HKEY hSourcesKey = NULL;
         LONG RegCon;
    
         char BackPath[MAX_PATH]; 
         strcpy(BackPath, valPath); 
         RegCon = RegConnectRegistry((LPCTSTR)sMachine, hDicRot, &hKey);
    
         if (RegCon == ERROR_SUCCESS)
         {
    		 MessageBox("connect ok!");
                    if (ERROR_SUCCESS == RegOpenKeyEx(hKey, server_path,0,KEY_SET_VALUE,&hSourcesKey))
                    {
    MessageBox("open ok!");                  
    					if(RegSetValueEx(hSourcesKey,valNamePath,0,REG_SZ,(const unsigned char*)BackPath,sizeof(BackPath)) == ERROR_SUCCESS)
                        {
                        MessageBox("reg add ok!");
    					}
    
                        else
                        {
    						MessageBox("reg add fehler!");
                        }
                    }
                    else
                    {
    					MessageBox("open fehler!");
                    }
         }
         else
         {
    		 MessageBox("connect fehler!");
         }
    
         return true;
    }
    


  • Mein Fehler...schon entdeckt und geändert:

    void CremoteregistryDlg::OnBnClickedButton1()
    {
     addReg("\\\\127.0.0.1", HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "Max Muster", "MyValue");
    
    }
    
    bool CremoteregistryDlg::addReg(CString sMachine, HKEY hDicRot, CString server_path, CString valPath, CString valNamePath)
    {
         HKEY hKey = NULL;
         HKEY hSourcesKey = NULL;
         LONG RegCon;
    
         CString BackPath; 
    	 BackPath=valPath;
    
         RegCon = RegConnectRegistry((LPCTSTR)sMachine, hDicRot, &hKey);
    
         if (RegCon == ERROR_SUCCESS)
         {
    		 MessageBox("connect ok!");
                    if (ERROR_SUCCESS == RegOpenKeyEx(hKey, server_path,0,KEY_SET_VALUE,&hSourcesKey))
                    {
    MessageBox("open ok!");                  
    					if(RegSetValueEx(hSourcesKey,valNamePath,0,REG_SZ,(CONST BYTE*)(LPCTSTR)BackPath,strlen(BackPath)+1)== ERROR_SUCCESS)
    
    					{
                        MessageBox("reg add ok!");
    					}
    
                        else
                        {
    						MessageBox("reg add fehler!");
                        }
                    }
                    else
                    {
    					MessageBox("open fehler!");
                    }
         }
         else
         {
    		 MessageBox("connect fehler!");
         }
    
    	 RegCloseKey(hSourcesKey);
    RegCloseKey(hKey);
    
         return true;
    }
    

Anmelden zum Antworten