RegOpenKeyEx/RegSetValueEx zeigt keine wirkung?



  • Hallo also ich habe das hier in einem Programm das scih selbst zum Autostart hinzufügen soll, sprich HKCR\Software\Microsoft\Windows\Run

    //Registry Schlüssel erstellen
    HKEY hKey;
    RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",NULL,KEY_SET_VALUE,&hKey);
    char regString[]="C:\\server.exe";
    RegSetValueEx(HKEY_CURRENT_USER,"Server",0,REG_SZ,reinterpret_cast<BYTE*>(regString),strlen(regString)+1);
    

    So ist auch alles soweit gut, beim Compilen keine Fehler oder Warnungen datei lässt sich ausführen usw. ABER wenn ich mit regedit in die registry schau sehe ich das da kein Wert ist. Warum? Was mach ich falsch?



  • KEY_SET_VALUE (2) ist doch 'Registry Specific Access Rights', ist benutzt mit Security Descriptors.
    Probier mal KEY_WRITE.



  • Also so schaut mein code jetzt im ganzen aus, (unterer teil auskommentiert weil der noch nicht funzt)

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdafx.h>
    #include <winnetwk.h>
    #include <iostream>
    using namespace std;
    
    void main()
    {
    
    	//Autostart
    	HKEY hKey;
    	RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",NULL,KEY_WRITE,&hKey);
    	char regString[]= "C:\\server.exe";
    	RegSetValueEx(HKEY_CURRENT_USER,"Server",0,REG_SZ,reinterpret_cast<BYTE*>(regString),strlen(regString)+1);
    
    	//File nach C:\server.exe kopieren und verstecken
    	char path[MAX_PATH+2];
    	GetModuleFileName(NULL,path,MAX_PATH);
    	CopyFile(path,"C:\\server.exe",false);
    	SetFileAttributes("C:\\server.exe",FILE_ATTRIBUTE_HIDDEN);
    
    	/*
    	//Netlaufwerk verbinden
    	NETRESOURCE nr;
    
    	memset(&nr, 0, sizeof(nr));
    	nr.lpRemoteName = TEXT("Share");
    	nr.lpLocalName = TEXT("\\\\daten\\share");
    	DWORD dwReturn = WNetAddConnection3(
    		m_hWnd,&nr, 
    		NULL,
    		NULL, 
    		CONNECT_UPDATE_PROFILE);
    	*/
    }
    

    Allerding entsteht immernoch kein Regestry Wert 😞

    PS. Ja ich weis das ich zuviel Includiert habe ^^



  • RegSetValueEx(HKEY_CURRENT_USER
    

    => hKey


Anmelden zum Antworten