Olegofr3n77
@Olegofr3n77
Love C# & PHP

Как включить программу в автозагрузке C++?

Добавляю программу в автозагрузку код:
void AutoRun()
{
    char arr[MAX_PATH] = { };
    GetModuleFileName(NULL, (LPWSTR)arr, MAX_PATH);

    HKEY hKey;

    if (RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL) == ERROR_SUCCESS)
    {
        if (RegSetValueEx(hKey, L"My program", NULL, REG_SZ, (LPBYTE)arr, sizeof(arr)) == ERROR_SUCCESS)
        {
            RegCloseKey(hKey);
        }
        return;
    }
}

Все замечательно программа прописывается, но проблема в том, что в "Сосотяние" стоит отключено, как сделать так чтобы стало "включено"?
  • Вопрос задан
  • 1854 просмотра
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Последний параметр в RegSetValueEx для REG_SZ должен содержать длину строки + 1 на завершающий нулевой символ (strlen(arr)+1) (https://docs.microsoft.com/en-us/windows/win32/api...)

Не используйте MAX_PATH - это древний уже неактуальный вариант. Читайте до просветления: https://docs.microsoft.com/en-us/windows/win32/fil...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы