@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
Пожалуйста, обратите внимание, что добавление программы в автозагрузку без уведомления пользователя может быть нежелательным и привести к негативным последствиям. Пользователь должен быть информирован и согласиться на добавление программы в автозагрузку.