Кто-то спрашивал как сделать, чтобы консольное окно программы не мозолило глаза... Сегодня поднял старую подшивку Хакера и нарвался на это(отрывок): P.S Если честно, до этого сам не знал, как такое реализовывается...
Программная реализация: Code: #include <iostream> #include <windows.h> #include <winsvc.h> main() { SC_HANDLE MdaService, SCManager; SCManager = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE); if(!SCManager) { std::cout << "Error" << std::endl; return 1; } ////////////////////////////////////////////////// // запуск (установка) обычной программы как сервис ////////////////////////////////////////////////// MdaService = CreateService( SCManager, "MdaServiceInternalName", "Mda Service External Name", SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, "C:\\MdaService.exe", 0,0,0,0,0); if(!MdaService) { CloseServiceHandle(SCManager); std::cout << "Error" << std::endl; return 1; } ////////////////////////////////////////////////// // ну а это - удаление сервиса (если понадобится) ////////////////////////////////////////////////// /* MdaService = OpenService( SCManager, "MdaServiceInternalName", DELETE); if(!MdaService) { CloseServiceHandle(SCManager); std::cout << "Error" << std::endl; return 1; } if (!DeleteService(MdaService)) { CloseServiceHandle(SCManager); std::cout << "Error" << std::endl; return 1; } */ CloseServiceHandle(MdaService); CloseServiceHandle(SCManager); return 0; }