2015-05-06 3 views
0

Я хотел бы прочитать RPM (системных вентиляторов Windows 7) на Java (например, приложение SpeedFan), чтобы использовать их для проекта на основе светодиодов Arduino (чтобы вентилятор медленно двигался по PWMing светодиоды). Тем не менее, система имеет контроллер вентилятора, поэтому я должен постоянно читать обороты. Не нашел ничего после Googling, только учебник о том, как читать RPM прямо из желтого провода на Arduino (однако это не решение, потому что я не хотел бы делать аппаратные модификации самой системы). Кто-нибудь получил идеи?Возможно ли прочитать RPM системного вентилятора в Java? (Win 7)

+2

Поскольку это аппаратное обеспечение, вам нужно найти инструмент командной строки, который скажет вам об этом. Вы можете запустить такой инструмент командной строки из Java. –

+1

Если есть API окон, просто назовите его с помощью JNA –

ответ

0

Я думаю, что лучшее решение использует JNI или JNA. С его помощью вы можете использовать все функции WinAPI, в результате вы можете получить всю информацию, что хотите. Если в будущем вам захочется прочитать другую системную информацию, у вас уже есть базовая структура, это хорошая масштабируемость.

Также вы можете попробовать найти стороннюю программу и получить необходимую информацию от нее, но это плохая идея, потому что, возможно, в будущем, когда вы настроите другую версию, ваша сторонняя программа, возможно, не сработает.