четверг, 10 июня 2010 г.

OpenHardwareMonitor

Появилась у меня тут на днях идея прикрутить к IIS на домашней машине страничку с возможностью удаленного контроля состояния домашнего компьютера когда меня нет рядом. Чтобы, значит, узнавать о проблемах, но при этом не подключаться к нему по rdp (что не всегда возможно/удобно/быстро). Соответственно, хотелось мониторить состояние железа, процессов, общую загрузку, ну и т.п. (по ходу дела будет понятно, что там еще надо).

Как ни удивительно, но самое простое - определить температуру процессора и скорость вращения вентиляторов - это практически невыполнимая задача :(

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

В результате - весь интернет наполнен вопросами вида: "как мне узнать температуру процессора?? я тут делаю - но оно не работает" и с единственным вариантом ответа: "напиши свой драйвер или забудь".

Однако, несмотря ни на что, я все-таки нашел решение - OpenHardwareMonitor. Написано на C#, использует собственный драйвер. Исходники доступны тут. Лицензия - Mozilla Pulic License v1.1.