CRegKey um Umgebungsvariable zu erstellen ...



  • hi ich hab mal ne frage:
    was muss ich machen um eine mit der Klasse CRegKey erstellte umgebungsvariable zu schreiben? ich habe folgenden code (siehe unten) jedoch ist wenn ich meine anwendung aus einer dos-box aufrufe die erstellte umgebungsvariable im prompt durch eingabe von "set" nicht zu sehen. Muss man da vielleicht noch eine art refresh oder so machen ???

    zudem funzt der code unten irgendwie net. in der registry kann ich zwar die erstellte variable sehen aber sie enthaelt nicht das was ich will (es soll der alte wert einer variable mit key-namen "test" ueberschrieben werden durch:
    alt_wert + neu_wert, also eine art append. wie mache ich das?

    char *buffer = (char *) malloc(sizeof(char)*1000);
    buffer[0] = '\0';
    
    DWORD dwcount = sizeof(buffer);
    CRegKey key;
    key.Open(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", KEY_WRITE);
    
    key.QueryValue(buffer, "test", dwcount);
    CString neu_wert(buffer);
    neu_wert += "irgendwas noch dazu";
    key.SetValue(LPCTSTR(neu_wert),"test");
    key.Close();
    

    vielen dank.
    gruss



  • kann mir viellecht jemand einen tipp geben zu meinem beitrag??
    ich weiss naemlich nicht weiter.

    das problem ist genauer:
    ich kann mit meiner anwendung zwar die gezeigten keys erzeugen.
    jedoch tauchen die bei oeffnen einer dos-box und eingabe von "SET" nicht auf.
    sie sind lediglich in der registry zu sehen.

    ich habe das gefuehl dass vielleicht noch eine art refreshing der registry erzeugt werden muss!?!?!
    bin mir aber nicht sicher.

    gruss


Anmelden zum Antworten