Crear registros con APIs

Iniciado por xxxhack2010, 25 Agosto 2010, 00:04 AM

0 Miembros y 1 Visitante están viendo este tema.

xxxhack2010

Hola, estoy intentando crear un registro en c++ con APIs para que cuando reinicie el pc ejecute un programa. De momento lo estoy intentando con este codigo pero algo falla y no se que puede ser. Un saludo.

#include <windows.h>

int main()
{
        LPSTR lpSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
   HKEY hkResult = 0;

        RegOpenKeyEx(HKEY_CURRENT_USER, lpSubKey, 0, KEY_WRITE, &hkResult);
        {
      HKEY hKey = 0;
      LPSTR lpValueName = "ejemplo";
      LPSTR lpData = "C:\\ejemplo.exe";

                RegSetValueEx(hKey, lpValueName, 0, REG_SZ, (LPBYTE)lpData, lstrlen(lpData));     


      RegCloseKey(hKey);
        }

}

Littlehorse

Consulta la MSDN y veras el error facilmente

RegSetValueEx

CitarhKey [in]

    A handle to an open registry key. The key must have been opened with the KEY_SET_VALUE access right. For more information, see Registry Key Security and Access Rights.

Te estas equivocando en el parámetro que le pasas a RegSetValueEx, debería ser "hkResult".

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Horricreu

Lo del parámetro es culpa mía, le pasé el ejemplo y, me descuidé en este parámetro, perdona por el error tonto :(

Saludos :P