要使用WMI通过vb.net监视SMART吗
代码如下:要使用WMI通过vb.net监视SMART吗,vb.net,wmi,disk-smart,Vb.net,Wmi,Disk Smart,代码如下: For Each queryObj As ManagementObject In searcher.Get() objWriter = New StreamWriter("C:\vsl\scripts\results.txt", False) objWriter.Write("Active: {0} ", queryObj("Active")) objWriter.Write(" InstanceName: {0} ", queryObj("InstanceN
For Each queryObj As ManagementObject In searcher.Get()
objWriter = New StreamWriter("C:\vsl\scripts\results.txt", False)
objWriter.Write("Active: {0} ", queryObj("Active"))
objWriter.Write(" InstanceName: {0} ", queryObj("InstanceName"))
objWriter.Write(" PredictFailure: {0} ", queryObj("PredictFailure"))
objWriter.Write(" Reason: {0} ", queryObj("Reason"))
objWriter.Close()
Next
似乎从我唯一的内部IDE驱动器获取数据
有两件事我不明白
您需要发布更多代码来帮助我们处理#2,例如如何定义
searcher
但你的第一个问题很简单。字符串{0}
是标准的替换语法。如果您写了以下内容:
objWriter.Write("Hello {0}, my name is {1}", "Alice", "Bob")
它将写下:
Hello Alice, my name is Bob
{0}
表示初始字符串后的第一项(在编程中,数字从零开始,因此第一项为零,第二项为一,以此类推)。在您的例子中,{0}
将被queryObj(“Active”)
返回的任何内容替换
您通常可以拥有任意数量的{X}
,只要您有值来备份它们。有更多的值是可以的,有太少是一个错误,这是你遇到的
这没关系,因为最后一个(“Bob”)被忽略了:
objWriter.Write("Hello {0}", "Alice", "Bob")
但这是不好的,因为我们没有任何东西可以填写{1}
objWriter.Write("Hello {0}, my name is {1}", "Alice")