Статья Делаем АвтоЗапуск: сервисы Windows

$1and1

Активный
Сообщения
279
Реакции
41
Добрый день! Сегодня я покажу как можно создать службу для windows!
И так, при включений пк на первые секунды(2-3) немного лагает комп, это из-за того, что ты тупой майнер, или из-за того что выполняются все службы, программы на Авто-Загрузке Планировщик Заданий и т.д.

Начнём же творить!
C++:
int main()
{
    SC_HANDLE schSCManager, schService;
    LPCTSTR lpszBinaryPathName=L"C:\\Windows\\System32\\cmd.exe";//путь до проги
    LPCTSTR lpszDisplayName=L"У меня больше!";//описание службы(не рекомндую использовать русские символы)я использовал для примера!
    LPCTSTR lpszServiceName=L"писюнь";//название службы(не рекомндую использовать русские символы)я использовал для примера!
    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);//открываем Service MAnager
    schService = CreateService(schSCManager, lpszServiceName, lpszDisplayName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, lpszBinaryPathName, NULL, NULL, NULL, NULL, NULL);//создание службы
    CloseServiceHandle(schService);//тут закрываем
}

код пипец простой идём к разбору



тут всё просто, создаём переменные
C++:
int main()
{
    SC_HANDLE schSCManager, schService;
    LPCTSTR lpszBinaryPathName=L"C:\\Windows\\System32\\cmd.exe";//путь до проги
    LPCTSTR lpszDisplayName=L"У меня больше!";//описание службы(не рекомндую использовать русские символы)я использовал для примера!
    LPCTSTR lpszServiceName=L"писюнь";//название службы(не рекомндую использовать русские символы)я использовал для примера!



Открываем SCManager со всеми правами(приложение нужны права администратора) их можно изменить в Проект->Свойства->Компоновщик->Файл манифеста->Уровень выполнения UAC
C++:
    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);//открываем Service MAnager cо всеми правами


тут мы создаём службу, которая автоматически запускается от имени администратора, после загрузки пк, обратите внимание что 5-ый параметр написано SERVICE_WIN32-OWN-PROCESS, существует
SERVICE_WIN32-OWN-PROCESS - Служба, которая работает в своем собственном процессе.
SERVICE_FILE_SYSTEM_DRIVER - Служба драйверов файловой системы.
SERVICE_KERNEL_DRIVER - Служба драйверов.
SERVICE_WIN32_SHARE_PROCESS - Служба, которая совместно использует процесс с одной или несколькими другими службами.

а с SERVICE_AUTO_START тоже самое:
SERVICE_AUTO_START - Служба запускается автоматически диспетчером управления службами во время запуска системы
SERVICE_BOOT_START - Драйвер устройства запускается загрузчиком системы.
SERVICE_DEMAND_START - Служба запускается диспетчером управления службами, когда процесс вызывает функцию

Для просмотра скрытого содержимого вы должны авторизироваться или зарегистрироваться

.
SERVICE_DISABLED - Служба, которая не может быть запущена. Попытки запустить службу приводят к коду ошибки ERROR_SERVICE_DISABLED.
SERVICE_SYSTEM_START - Драйвер устройства, запускаемый функцией IoInitSystem. Это значение допустимо только для служб драйверов.



и даже SERVICE_ERROR_NORMAL
SERVICE_ERROR_CRITICAL - Программа запуска регистрирует ошибку в журнале событий, если это возможно. Если запускается последняя известная конфигурация, операция запуска завершается неудачно. В противном случае система перезапускается с последней известной хорошей конфигурацией.
SERVICE_ERROR_IGNORE - Программа запуска игнорирует ошибку и продолжает операцию запуска.
SERVICE_ERROR_NORMAL - Программа запуска регистрирует ошибку в журнале событий, но продолжает операцию запуска.
SERVICE_ERROR_SEVERE - Программа запуска регистрирует ошибку в журнале событий. Если запускается последняя известная конфигурация, операция запуска продолжается. В противном случае система перезапускается с последней известной хорошей конфигурацией.

C++:
    schService = CreateService(schSCManager, lpszServiceName, lpszDisplayName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, lpszBinaryPathName, NULL, NULL, NULL, NULL, NULL);/

Закрываем менеджер:
C++:
    CloseServiceHandle(schService);//тут закрываем

Если хотите, напишу как можно узнать путь до программы!

Удачи вам! Спасибо за просмотр!
 

Darwin

Команда форума
Администратор
Сообщения
815
Реакции
389
Полезный гайд))
 

RETAXIC

Активный
Сообщения
191
Реакции
14
побольше бы объяснений, в целом все замечательно
 

Naperehvate

Следопыт
Сообщения
62
Реакции
7
Ни чего внятного от автора кроме "Тупой майнер "
 

$1and1

Активный
Сообщения
279
Реакции
41
Ни чего внятного от автора кроме "Тупой майнер "
Код:
int main()
{
    SC_HANDLE schSCManager, schService;
    LPCTSTR lpszBinaryPathName=L"C:\\Windows\\System32\\cmd.exe";//тут блять путь поменяй и всё
    LPCTSTR lpszDisplayName=L"wefasd";
    LPCTSTR lpszServiceName=L"sxcw";
    schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    schService = CreateService(schSCManager, lpszServiceName, lpszDisplayName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, lpszBinaryPathName, NULL, NULL, NULL, NULL, NULL);//создание службы
    CloseServiceHandle(schService);
}
Возьми где комментарий поменяй и вот тебе счастье!
 
Верх Низ