Вопрос: Как сделать программу в трее, которая мониторит службу "окон"?

Всем доброго времени суток!

Начнём с того, что я совсем не программист, никогда этим не занимался. Мне очень нужна консультация опытных в этом деле людей.

Сразу хотел бы сказать, что я не прошу Вас написать мне программу или что-то в этом духе, мне нужна только консультация и возможность реализации.

Дано:

Есть служба (отображается в окне службы)

Есть файл с ошибками

Есть файл с логами


Задача:

Нужно написать программу, которая мониторила бы статус этой службы. Обычный смертный юзер (мадам за 40+) должна иметь возможность легко и просто узнать статус работы и, в случае чего, перезапустить службу.


Платформы:

Windows XP, Windows 7, Windows 8.1, Windows 10 (предпочтительнее уже к последним окнам, но с XP всё ещё приходится сталкиваться.


Как "это" примерно должно выглядеть:

В трее висит значок; значок имеет два статуса зависящих от состояния службы "Работает" и "Не запущена".

Контекстное меню содержит в себе команды на запуск и перезапуск службы, открытие файла лога, открытия файла с ошибками, строка состояния службы.

*Сама служба и файлы логов и ошибок всегда расположены по одинаковому пути

*Набросок прилагаю

Вопрос: Как сделать программу в трее, которая мониторит службу "окон"? Программирование, Windows, Вопрос

Вопросы:

Насколько это реально написать?

Насколько это трудозатратно?

Насколько это сложно в понимании, чтоб написать самому?

Какой язык, какие инструменты для этого нужны?

Я буду очень благодарен за консультацию. Как уже писал выше, я не программист и, если честно, даже не могу сообразить как бы это грамотно загуглить.

2
Автор поста оценил этот комментарий

Я бы смотрел на AutoHotKey или что-то подобное. Достаточно мощно, достаточно просто, нормальное коммьюнити, низкий порог вхождения, не требуется вникать слишком глубоко. Пару дней в фоновом режиме на изучение азов. Если всё будет понятно, то день-два на получение приемлемого результата. Да и в будущем может пригодиться.

раскрыть ветку
2
Автор поста оценил этот комментарий
вам на сайты по типу "пишу код за еду" надо бы обратиться
раскрыть ветку
1
Автор поста оценил этот комментарий

Если по-простому, то вот.

https://blog.brankovucinec.com/2017/07/04/check-if-service-i...


Если сложнее, то тебе будет нужны следующие функции из WinAPI:

OpenSCManager

OpenService

QueryServiceStatusEx

и

CloseServiceHandle

https://docs.microsoft.com/ru-ru/windows/desktop/api/winsvc/...


Для иконки в трее нужна

Shell_NotifyIcon

https://docs.microsoft.com/en-us/windows/desktop/api/shellap...


Инструмент разработки - да любой. VisualBasic например.

раскрыть ветку
1
Автор поста оценил этот комментарий

Ищи QueryServiceStatus, StartService и ControlService.

Добвляй WINAPI при поиске и получишь ссылки на системные функции.

раскрыть ветку
1
Автор поста оценил этот комментарий

На мой взгляд, проще всего батник запилить, без гуя. http://ivanp.ru/запуск-службы-из-командной-строки/

раскрыть ветку