سلام
چجوری میتونم دمای cpu یا بقیه سخت افزارهای سیستم رو توی vb6 ازشون استفاده کنم
Printable View
سلام
چجوری میتونم دمای cpu یا بقیه سخت افزارهای سیستم رو توی vb6 ازشون استفاده کنم
یک بخشی در ویندوز هست به نام WMI یا Windows Management Instrumentation که اطلاعات زیادی در مورد سخت افزار و نرم افزار رو میتونه ارائه کنه.
در نظر بگیرید که هر سخت افزاری و با هر درایوری ممکنه مشخصات متفاوتی داشته باشه، فرضا اگر در سیستم شما سه تا سنسور دما با نام های فلان پیدا میشه ممکنه در سیستم دیگری با تعداد دیگری و اسامی دیگری باشه. تشخیص اینکه کدوم سنسور مربوط به کجا است هم تجربی است.
Private Sub Form_Load()
Dim WMI As Object
Dim Items As Object
Dim Item As Object
Dim Result As String
Dim Temperature As Double
Set WMI = GetObject("WinMgmts:" & "{impersonationLevel=impersonate}!" & "/root/WMI")
Set Items = WMI.InstancesOf("MSAcpi_ThermalZoneTemperature")
For Each Item In Items
Temperature = Item.CurrentTemperature / 10 - 273.15
Result = Result & Item.InstanceName & " : " & Temperature & vbNewLine
Next
MsgBox Result
End Sub
واحد CurrentTemperature ده برابر واحد کلوین ئه، با 273.15 - 10 / به سانتی گراد تبدیل می کنیم.
اگر علاقه مند بودید که ببینید WMI چه اطلاعاتی ارائه میکنه ابزار هایی مثل SimpleWMIView رو امتحان کنید.
من اصلا نمیدونم اطلاعاتی که روی سیستم شما نشون میده مربوط به چه سخت افزاری ئه، ممکنه CPU جزو شون باشه یا اصلا CPU داخل شون نباشه.
WMI بر اساس سخت افزار هایی که دارید و درایور هاشون کاملا نتایج متفاوتی میده.
دمایی که اعلام میشه الزاما مربوط به CPU نیست، میتونه سنسور کارت گرافیکی باشه، میتونه برای هارد دیسک باشه، میتونه سنسور دما در جای دیگری از مادربورد باشه.
چیزی که اعلام میشه سنسور های دمای ثبت رسیده توسط درایور ها است، مختص CPU نیست.