Это зависит от того, имеете ли вы в виду любое произвольное приложение, без каких-либо изменений кодировки или поддержки внутри самих приложений? Или вы имеете в виду набор приложений, которые специально настроены для взаимодействия с системой мониторинга, которую вы создаете.
В последнем случае я бы добавил к приложениям канал удаленного взаимодействия, к которому система мониторинга могла бы подключаться на регулярной основе (функционально, как пинг), и с помощью общего метода GetStatus (), который сообщал бы о соответствующих показателях работоспособности. система мониторинга ... Я бы добавил эту функцию как отдельную зависимую сборку для каждого приложения, которое я хотел бы отслеживать ...
В первом случае, я полагаю, вам необходимо подключиться к API-интерфейсам ОС, особенно для связи с ОС, работающими на других компьютерах в сети (если это также является требованием). Как вы упомянули .Net, я предполагаю, что вы говорите о WIn32 Только машины. Я не знаю, какая функциональность раскрывается API WIn32 в этой области.