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