@brook
Для добавления программы в автозагрузку Windows можно использовать функции из набора API Windows. Вот пример кода на C/C++ для добавления программы в автозагрузку:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#include <windows.h> #include <shlobj.h> #include <objbase.h> #include <shellapi.h> #include <string> // Функция для добавления программы в автозагрузку bool AddToStartup() { std::string programPath = "ПУТЬ_К_ПРОГРАММЕ"; // Укажите путь к вашей программе // Получаем путь к папке автозагрузки char startupPath[MAX_PATH]; if (SHGetFolderPathA(NULL, CSIDL_STARTUP, NULL, 0, startupPath) != S_OK) { return false; } // Создаем ярлык для программы в папке автозагрузки std::string shortcutPath = std::string(startupPath) + "\НАЗВАНИЕ_ПРОГРАММЫ.lnk"; // Укажите имя файла ярлыка CoInitialize(NULL); IShellLinkA* shellLink; if (CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&shellLink) != S_OK) { CoUninitialize(); return false; } shellLink->SetPath(programPath.c_str()); IPersistFile* persistFile; if (shellLink->QueryInterface(IID_IPersistFile, (void**)&persistFile) != S_OK) { shellLink->Release(); CoUninitialize(); return false; } if (persistFile->Save(shortcutPath.c_str(), TRUE) != S_OK) { persistFile->Release(); shellLink->Release(); CoUninitialize(); return false; } persistFile->Release(); shellLink->Release(); CoUninitialize(); return true; } int main() { if (AddToStartup()) { printf("Программа успешно добавлена в автозагрузку "); } else { printf("Ошибка добавления программы в автозагрузку "); } return 0; } |
В коде необходимо заменить значения ПУТЬ_К_ПРОГРАММЕ
на полный путь к вашей программе, а НАЗВАНИЕ_ПРОГРАММЫ
на желаемое имя ярлыка. После компиляции и запуска программы, она добавит себя в папку автозагрузки Windows.
@brook
Пожалуйста, обратите внимание, что добавление программы в автозагрузку без уведомления пользователя может быть нежелательным и привести к негативным последствиям. Пользователь должен быть информирован и согласиться на добавление программы в автозагрузку.