Как добавить программу в автозагрузку используя WinAPI (C/C++)

128
30 августа 2021, 08:00

Какая функция, описание которой находится в заголовочном файле windows.h (насколько я знаю, она там), отвечает за автозапуск и как прописать, заранее спасибо.

Answer 1
HKEY hKey; 
char szPath[0x100]; 
GetModuleFileName(NULL, szPath, sizeof(szPath)); 
RegCreateKeyEx(HKEY_LOCAL_MACHINE, 
                 "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 
                 NULL, 
                 "", 
                 REG_OPTION_NON_VOLATILE, 
                 KEY_SET_VALUE, 
                 NULL, 
                 &hKey, 
                 NULL);
if (hKey) 
{ 
    RegSetValueEx(hKey, "My program", NULL, REG_SZ, (LPBYTE)szPath, strlen(szPath)); 
    RegCloseKey(hKey); 
}
Answer 2

Функции Windows API за автозагрузку не отвечают. За автозапуск отвечает запись в реестре в ключах (Local Machine или Current User)

HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce

Прописывается

  1. вручную в редакторе реестра,
  2. запуском файла с нужными записями реестра *.reg,
  3. во время установки,
  4. с помощью функций работы с реестром.
READ ALSO
как поставить картинке position: sticky;?

как поставить картинке position: sticky;?

Есть код, и надо к картинкам добавить position: sticky;, возможно ли это сделать? У меня лично не получается

130
Как правильно реализовать Lazy-loading для <picture />

Как правильно реализовать Lazy-loading для <picture />

Использую тэг <picture /> для реализации fallback-механизма для WebP-изображений:

90
Автономный таймер 60 дней

Автономный таймер 60 дней

Как можно реализовать таймер на 60 дней, который начнет работать с момента создания, не зависимо, видел ли его посетитель?

85
Запрос к бд с CASE в C#

Запрос к бд с CASE в C#

Пытаюсь выгрузить данные из бд, но не работает оператор CASE, выдает вместо данных пустые ячейкиВ SQLiteStudio все правильно выгружает при данном...

82