Определите, был ли процесс открыт пользователем или другим процессом с помощью C#?
У меня есть служба, работающая на некоторых компьютерах, которые отчитываются перед сервером. Служба проводит аудит всех запущенных процессов, а затем проверяет, есть ли они в черном списке или нет. Если процесс занесен в черный список, служба собирает имя, имя пользователя, имя машины, время запуска и время выполнения, а затем отправляет его на сервер. Это прекрасно работает.
Что я также хотел бы, так это посмотреть, работает ли процесс другим приложением, а не пользователем. например, Cinema4D (приложение для 3D-моделирования) запускает его рендерер. Это не то же самое, как если бы пользователь открывал исполняемый файл напрямую.
Использование состоит в том, чтобы следить за студентами во время экзаменов, чтобы мы могли видеть, используют ли они "запрещенное" программное обеспечение. Он предназначен для статистического использования, так как кандидаты используют случайные имена пользователей, но если мы получим много ложных срабатываний, мы не сможем использовать его в качестве документации для обмана.
Любая помощь приветствуется!
Что я уже пробовал:
Я погуглил его, но не получил никаких релевантных ответов