以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何获取磁盘首次使用时间 累计使用时间  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74369)

--  作者:hunanwl
--  发布时间:2015/9/9 15:45:00
--  如何获取磁盘首次使用时间 累计使用时间
如何获取磁盘首次使用时间   累计使用时间
--  作者:大红袍
--  发布时间:2015/9/9 16:51:00
--  

呃,查了一下资料,一些操作系统,硬盘是不支持访问的。所有无法获取。

 

mark wmi

 

Dim WMI = GetObject("WinMgmts:root\\WMI")
Dim Objs = WMI.ExecQuery("SELECT * F ROM MSAcpi_ThermalZoneTemperature")
For Each Obj As object In Objs
    Dim 温度 = Convert.ToDouble(Convert.ToDouble(obj.CurrentTemperature.ToString()) - 2732) / 10
    msgbox(温度)
Next

Objs = WMI.ExecQuery("SELECT * F ROM MSStorageDriver_ATAPISmartData")
For Each Obj As object In Objs
    output.show( "Active:" & vbTab & Obj.active)
    output.show("TotalTime:" & vbTab & Obj.TotalTime)
    output.show("InstanceName:" & vbTab & Obj.InstanceName)
    output.show("SelfTestStatus:" & vbTab & Obj.SelfTestStatus)
Next

Dim Bian()
For Each Obj As object In Objs
    Bian = Obj.VendorSpecific
    For i As Integer = 2 To UBound(Bian)
        If Bian(i) = 9 Then
            MsgBox("硬盘累计运行" & Bian(i + 11) * 256 + Bian(i + 10) * 256 + Bian(i + 9) * 256 + Bian(i + 8) * 256 + Bian(i + 7) * 256 + Bian(i + 6) * 256 + Bian(i + 5) & "小时")
        End If
    Next
Next

 

http://bbs.csdn.net/topics/310215227


 


--  作者:hunanwl
--  发布时间:2015/9/11 16:23:00
--  
谢谢
--  作者:hunanwl
--  发布时间:2015/9/11 16:38:00
--  
我把你代码放按钮事件里  点击没反应
--  作者:大红袍
--  发布时间:2015/9/11 16:39:00
--  
没反应就是对的,win7、win8等等,都没权限访问。
--  作者:hunanwl
--  发布时间:2015/9/11 16:47:00
--  
我的 win10  但是我用别的软件可以读取到硬盘信息  包括温度
[此贴子已经被作者于2015/9/11 16:48:07编辑过]

--  作者:大红袍
--  发布时间:2015/9/11 17:02:00
--  

代码就是那段代码,有的支持,有的不支持。

 

CPU信息,用管理员权限可以获取;硬盘信息无法获取。


--  作者:hunanwl
--  发布时间:2016/11/29 16:35:00
--  
http://www.laomaotao.net/?P8757