In Regsitry schreiben mit Variablen



  • hi,

    also ich habe Folgenes Problem:

    ich möchte in die registry schreieb naber das nicht direkt sonder der pfard soll in variablen gespeichert sein:

    #include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    string x ="Pf1";
    string y ="Pf2";
    string z ="Pf3";
    
      HKEY hKey;
      RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Testen",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0);
      RegDeleteValue(hKey,x);
      RegDeleteValue(hKey,y);
      RegDeleteValue(hKey,z);
    
      DWORD dwNumber=1;
    RegSetValueEx(hKey,x,0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD));
    RegSetValueEx(hKey,y,0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD));
    RegSetValueEx(hKey,z,0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD));
      RegCloseKey(hKey);
      return 0;
    }
    

    leider kommen hierbei immer fehler :

    cannot convert `y' from type `string' to type `const CHAR *'

    wie kann ich das Problem lösen?

    mfg

    der kleine sucher



  • Mit x.c_str() usw... 🙂



  • wie bitte ? geht es auch vieleicht ein bisschen genauer ?



  • Oha...

    #include <String>
    using namespace std;
    
    string strBsp("This is a Demo-String!");
    const char* pszPBsp = strBsp.c_str();
    

    Kurz: Mit der Methode c_str() kannst du dein std::string-Objekt in einen C-String 'umwandeln'.


Anmelden zum Antworten