Código
HKEY hkey; RegOpenKeyEx (HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\run",0, KEY_SET_VALUE, &hkey); RegSetValueEx (hkey, "algo", 0, REG_SZ,(const unsigned char * ) registro, sizeof registro ); RegCloseKey (hkey);
he probado ejecutarlo con click derecho -> permisos de admin y habilitar los tokens(no se si lo hago mal)
Código
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &ProcessToken)) { SetPrivilege(ProcessToken, SE_RESTORE_NAME, TRUE); HKEY hkey; RegOpenKeyEx (HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\run",0, KEY_SET_VALUE, &hkey); RegSetValueEx (hkey, "hola", 0, REG_SZ,(const unsigned char * ) registro, sizeof registro ); RegCloseKey (hkey); }
la funcion de setprivilege la saque de la msdn
https://msdn.microsoft.com/en-us/library/aa446619%28VS.85%29.aspx
gracias de antemano
siempre que escribo aca pidiendo ayuda , suelo encontrar la solucion 5 mins despues xD , pero de todas formas me surge una pregunta con lo que encontre.
al parecer se estaba compilando una aplicacion de 32 bits y en ese caso windows utliza el registro
HKEY_LOCAL_MACHINE\software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run.
¿ el registro funciona de todas formas,cambia algo?.¿La aplicacion se iniciara con windows?