首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >想要使用WMI通过vb.net进行智能监控

想要使用WMI通过vb.net进行智能监控
EN

Stack Overflow用户
提问于 2011-07-29 18:49:45
回答 1查看 456关注 0票数 0

守则如下:

代码语言:javascript
复制
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驱动器中获取数据。

有两件事我不明白。

如果在第一组引号之间更改数据,则

  1. objWriter.Write(“Active:{0}”、queryObj("Active"))不能工作。因此,将Active:{0}更改为Active:{1}会导致that未捕获的错误(此for...next位于that中)。我以为引号里的东西只是文字,可以修改成任何东西?为什么尝试抓不到它?
  2. 在连接时不读取USB外部驱动器。我就是这么发现上面第一项的.我将{0}改为{1},它就崩溃了。
EN

回答 1

Stack Overflow用户

发布于 2011-07-29 20:28:52

您需要发布更多的代码来帮助我们处理#2,例如如何定义searcher

但你的第一个问题很简单。字符串{0}是标准的替换语法。如果你写的是这样的话:

代码语言:javascript
复制
objWriter.Write("Hello {0}, my name is {1}", "Alice", "Bob")

它将写明:

代码语言:javascript
复制
Hello Alice, my name is Bob

{0}代表初始字符串之后的第一个项目(在编程数字中,从零开始,所以第一个是零,第二个是1,等等)。在您的示例中,{0}queryObj("Active")返回的任何内容所取代。

只要有值支持,您通常可以拥有任意数量的{X}。拥有更多的值是好的,拥有的太少是一个错误,这是你遇到的。

所以这是可以的,因为最后一个("Bob")被忽略了:

代码语言:javascript
复制
objWriter.Write("Hello {0}", "Alice", "Bob")

但这是不行的,因为我们对{1}没有什么可补的。

代码语言:javascript
复制
objWriter.Write("Hello {0}, my name is {1}", "Alice")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6877637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档