В моей консалтинговой компании мы используем очень дорогое программное обеспечение для моделирования. Мне нужны средства для мониторинга использования этих приложений / процессов (в фоновом режиме, используя C #). Идея состоит в том, что когда кто-то запускает определенное приложение, ему предлагается ввести имя задания. Затем, когда они закрывают программу, количество времени, которое они использовали, отправляется в базу данных, находящуюся в сети. Таким образом, мы можем окупить затраты на программное обеспечение, взимая плату с наших клиентов по цене $ / мин. Помимо подсказки, программа должна быть почти невидимой для пользователей.
Я думал о нескольких способах сделать это, но я не уверен, что лучше:
Есть программа, которая запускается при запуске, только с иконкой в трее. Полагаю, тогда мне понадобится специалист по фону, который будет постоянно следить за процессами, возможно, спит поток и проверяет процессы каждые 5 минут или около того.
Используйте что-то вроде Quartz.net, при запуске и со значком в трее. Если это даже применимо на поминутной основе. Я не очень знаком с Quartz.net, но, судя по моим исследованиям, это выглядит выполнимо.
Использовать какую-то службу Windows. С этим я менее всего знаком.
Какой метод будет наиболее плодотворным? Спасибо