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