Добрый день!
ТЗ звучит примерно следующим образом:
Задача Windows-службы - пройти авторизацию, активировать лицензию и периодически обновлять лицензионный тикет.
При этом служба должна запустить клиентское приложение во всех терминальных сессиях и отслеживать появление новых сессий, для того чтобы запустить в них клиентское приложение.
При этом сервис должен установить связь со всеми клиентами (через Named Pipe, например)
При этом запуск процессов и создание именованных каналов должны осуществляться с правильно настроенными дескрипторами безопасности. А выход из приложения должен приводить к остановке Windows-службы. Перед завершением, должен быть показан диалог подтверждения на отдельном рабочем столе
Имеется готовый "сервер" на java, откуда сервис берет данные.
Нужно разработать по следующим задачам:
1. Создание оконного приложения (https://learn.microsoft.com/ru-ru/windows/win32/learnwin32/your-first-windows-program) на windows-forms
2. Управление областью уведомлений (https://learn.microsoft.com/ru-ru/windows/win32/shell/notification-area)
3. Создание службы и управление службой (https://learn.microsoft.com/ru-ru/windows/win32/services/using-services)
4. WTSEnumerateSessions - получение всех сессий, WTSQueryUserToken - проверка токена, ImpersonateLoggedOnUser - проверка пользователя, CreateProcessAsUser - создание процесса от пользователя
5. Безопасность (https://learn.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertstringsecuritydescriptortosecuritydescriptora)
6. SERVICE_CONTROL_SESSIONCHANGE - событие изменения сессии (events service (https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nc-winsvc-lphandler_function_ex))
7. Каналы (PIPE) (https://learn.microsoft.com/ru-ru/windows/win32/ipc/using-pipes)
Имеется на 30-40% реализованный сервис и служба. Проект (сервер) на java - завершен.
Учебная работа, сам проект С++ не должен быть большим. Прошу оценить работу и писать мне для согласования цены.