C ++注册表编辑

时间:2013-12-23 15:16:08

标签: c++ registry windows-vista

我正在用c ++编写一个将在Windows Vista上执行的应用程序。我想添加一个注册表entery以启动我的应用程序以及Windows,但我收到一个错误:权限被拒绝。我该如何绕过它。这是我的代码:

    void Persist::RunOnWindowsBoot()
{
     HKEY hKey;
     char ExeDir[MAX_PATH] = "E:\\Projects\\Coro\\Coro.exe"; 
     RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_QUERY_VALUE | KEY_SET_VALUE, &hKey);

     if(RegQueryValueEx(hKey, TEXT("System"), NULL, NULL, NULL, NULL) == ERROR_FILE_NOT_FOUND)
     {
              RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);
              RegSetValueEx(hKey, "System", 0, REG_SZ, (const unsigned char*)ExeDir, MAX_PATH);
              RegCloseKey(hKey);
     }
}

0 个答案:

没有答案