Попытка обнаружить видеокарту gpu temp, но не могу добавить ссылку nvcpl.dll, получая ошибку "не удалось добавить" - PullRequest
0 голосов
/ 26 декабря 2011

Я хочу определить температуру GPU моей видеокарты.Поэтому я хотел использовать nvcpl.dll добавить его в качестве ссылки на мой код.

Я использую Visual Studio 2010 Express и Windows 7.

Я нашел файл nvcpl.dll в: C: \Windows \ System32 Но когда я пытаюсь добавить файл в качестве ссылки, возникает ошибка:

"Невозможно добавить ссылку на d: \ nvcpl.dll. Убедитесь, что файл доступен, ичто это допустимая сборка или компонент COM "

Я попытался также скопировать сначала файл в d: \ Я попробовал примеры и примеры кодов в Google.

Не могу понять, как использоватьдлл тогда.

1 Ответ

0 голосов
/ 26 декабря 2011

Вы можете найти рабочий исходный код на C #, который получает температуру графического процессора (и многое другое) из проекта Open Hardware Monitor на http://code.google.com/p/open-hardware-monitor/

Open Hardware Monitor

Open Hardware Monitor - это бесплатное программное обеспечение с открытым исходным кодом, которое отслеживает датчики температуры, скорости вращения вентиляторов, напряжения, нагрузки и тактовые частоты компьютера.

Open Hardware Monitor поддерживает большинство аппаратных средств.чипы мониторинга, найденные на современных материнских платах.Температуру процессора можно отслеживать, считывая датчики температуры ядра процессоров Intel и AMD.Могут отображаться датчики видеокарт ATI и Nvidia, а также температура жесткого диска SMART.Отслеживаемые значения могут отображаться в главном окне, в настраиваемом гаджете на рабочем столе или в системном трее.Программное обеспечение Open Hardware Monitor работает в 32-разрядной и 64-разрядной версиях Microsoft Windows XP / Vista / 7 и любых операционных систем Linux на базе x86 без установки.

Вам необходимо взаимодействие с пользователем, аналогичноепример кода здесь: http://www.mp3car.com/coders-corner/107386-vb-net-screenorientation-angle180.html

Из документации по API nvidia, которую я мог быстро найти ( PDF от 2005 ), похоже, что вызов, который вам действительно нужен:

NvCplGetThermalSettings ()

Прототип функции

BOOL CDECL NvCplGetThermalSettings
(IN UINT nWindowsMonitorNumber,
OUT DWORD* pdwCoreTemp,
OUT DWORD* pdwAmbientTemp,
OUT DWORD* pdwUpperLimit);

Параметры в UINT nWindowsMonitorNumber - номер дисплея, отображаемый на странице свойств экрана Windows -> Настройки.

Значение 0 указывает текущее основное устройство отображения Windows.

  • DWORD * должен быть действительным указателем -
  • pdwCoreTemp - температура графического процессора в градусах Цельсия.
  • pdwAmbientTemp - температура окружающей среды в градусах Цельсия.
  • pdwUpperLimit - верхний предел спецификации температуры графического процессора.

Возвращаемые значения True в случае успеха.Ложь при неудаче.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...