Я пишу приложение на C ++, которое будет выполняться в Windows Vista. Я хочу добавить реестр, чтобы запустить мое приложение вместе с Windows, но я получил ошибку Permission Denied. Как мне это пропустить. Вот мой код.
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);
}
}
Задача ещё не решена.
Других решений пока нет …