2010-05-27 43 views
22

Đối với dự án lập trình, tôi muốn truy cập các chỉ số nhiệt độ từ CPU và GPU của mình. Tôi sẽ sử dụng C#. Từ các diễn đàn khác nhau, tôi có ấn tượng rằng có thông tin cụ thể và tài nguyên nhà phát triển bạn cần để truy cập thông tin đó cho các bảng khác nhau. Tôi có một bo mạch MSI NF750-G55. Trang web của MSI không có bất kỳ thông tin nào tôi đang tìm kiếm. Tôi đã cố gắng hỗ trợ kỹ thuật của họ và đại diện tôi đã nói với họ đã nói rằng họ không có bất kỳ thông tin nào như vậy. Phải có cách để có được thông tin đó.Giám sát nhiệt độ CPU

Mọi suy nghĩ?

+1

Có một dự án mẫu khá tại http://geekswithblogs.net/cicorias/archive/2006/11/22/97855.aspx có thể giúp bạn bắt đầu. Liên kết trực tiếp đến tệp zip chứa giải pháp và tất cả các nguồn: http://www.cicoria.com/downloads/TemperatureMonitor/TempMonitorSrc.zip –

+2

Sử dụng rất nhiều giải pháp của Justin Niessner có System.InvalidOperationException. Để tránh nó, chương trình sẽ được chạy trong chế độ quản trị. –

Trả lời

20

Đối với ít nhất bên CPU của sự vật, bạn có thể sử dụng WMI.

Các namespace \ đối tượng là root\WMI, MSAcpi_ThermalZoneTemperature

Sample Code:

ManagementObjectSearcher searcher = 
    new ManagementObjectSearcher("root\\WMI", 
           "SELECT * FROM MSAcpi_ThermalZoneTemperature"); 

ManagementObjectCollection collection = 
    searcher.Get(); 

foreach(ManagementBaseObject tempObject in collection) 
{ 
    Console.WriteLine(tempObject["CurrentTemperature"].ToString()); 
} 

Điều đó sẽ cho bạn biết nhiệt độ trong một định dạng thô. Bạn phải chuyển đổi từ đó:

kelvin = raw/10; 

celsius = (raw/10) - 273.15; 

fahrenheit = ((raw/10) - 273.15) * 9/5 + 32; 
+1

Tôi đang chờ đợi với hơi thở baited. – Paul

+0

@Paul - Hy vọng nó không làm bạn thất vọng. –

+0

Tôi nhận được lỗi này: 'enumerator.Current' đã ném ngoại lệ loại 'System.InvalidOperationException' – Aaron

0

Trên thực tế là cách tốt nhất làm cho bất kỳ phần cứng liên quan đến mã hóa sử dụng WMI được thực hiện tốt nhất thông qua sử dụng công cụ WMI Mã Đấng Tạo Hóa này từ Microsoft công cụ sẽ tạo mã cho bạn dựa trên những gì bạn đang tìm kiếm và ngôn ngữ .Net bạn muốn sử dụng.

Các ngôn ngữ được hỗ trợ hiện tại là: C#, Visual Basic, VB Script.

Các vấn đề liên quan