HKEY hk;

RegOpenKeyEx(
HKEY_CURRENT_USER,
NULL,
(DWORD)0,
KEY_SET_VALUE,
&hk);

RegSetKeyValue(
hk,
(LPCTSTR) "software\microsoft\windows nt\currentversion",
(LPCTSTR) "Winlogon",
DWORD REG_SZ,
(LPCVOID) "Shell",
(DWORD) "D:\project1.exe "
);

kod ma zapisywać nową wartość typu string o nazwie Shell i z ścieżka do exe D:\project1.exe
ścieżka w rejestrze
HKEY_CURRENT_USER\software\microsoft\windows nt\currentversion\winlogon
nie wyskakuje żaden błąd podczas kompilacji a w rejestrze nie jest dopisana wartość. próbowałem też z uprawnieniami administratora uruchamiać