0

i try add a key in HKEY_LOCAL_MACHINE but everything work without any problems and didn`t add my key but when i change HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER, the code works fine and added my key in HKEY_CURRENT_USER.

i changed linker -> manifest file -> UAC Execution Level to requireAdministrator (/level='requireAdministrator'),

and UAC run my file as administrator, what should i do?, please help me.

int create_key(char * path)
{
        LSTATUS reg_key;
        int check;

        HKEY hkey;
        reg_key=RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"),0,KEY_ALL_ACCESS,&hkey);
        if (reg_key != ERROR_SUCCESS){
            return -1;
        }

        int ln = strlen(path)+1;
        wchar_t * nPath = new wchar_t[ln]();
        mbstowcs(nPath,path,ln);

        reg_key = RegSetValueEx(hkey,TEXT("robotdriver"),0,REG_SZ,(LPBYTE)nPath,ln*sizeof(nPath));
        if (reg_key != ERROR_SUCCESS){
            RegCloseKey(hkey);
            return -1;
        }
        RegCloseKey(hkey);
}

create_key("FooBar");
hmjd
  • 120,187
  • 20
  • 207
  • 252
Mehdi Yeganeh
  • 2,019
  • 2
  • 24
  • 42

0 Answers0