Это будет сложнее, если вы используете Java. Java работает на виртуальной машине (JVM), которая специально предназначена для того, чтобы оградить вас, как программиста, от необходимости знать интимные детали вашей хост-системы, а также для защиты хост-системы от приложений Java, получающих доступ к нативным деталям, таким как вы. Ищите.
Там могут быть библиотеки, которые могут выполнить то, что вы ищете, хотя я провел небольшой поиск и ничего не нашел.
В вашей ситуации я бы, вероятно, начал исследовать JNI (собственный интерфейс Java), а также конкретные API-интерфейсы Windows, с которыми вы надеетесь взаимодействовать.
В качестве альтернативы - и мне лично больше нравится этот подход - вы можете написать какую-то очень маленькую программу мониторинга на другом языке с лучшей поддержкой аппаратного мониторинга, которая затем может вызвать, например, конечную точку REST. в ваше приложение Java, чтобы отправить ему интересные события.
Извините за плохие новости. Возможно, у кого-то еще будут хорошие новости или менее махающий рукой общий ответ.