作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 wmi 查询获取特定值。我知道这个值本身存储在一个数组中,但我无法访问它。
ManagementObjectSearcher ^searcher =
gcnew ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskDrive WHERE PNPDeviceID LIKE '" + marshal_as<String^>(DEV_FILTER) +"%'");
for each (ManagementObject ^drive in searcher->Get())
{
for each (ManagementObject ^o in drive->GetRelated("Win32_DiskPartition"))
{
for each (ManagementObject ^logDisk in o->GetRelated("Win32_LogicalDisk"))
{
Console::WriteLine(
"Disk: " + drive["Caption"]
+ "\n\tSize : " + drive["Size"]
+ "\n\tDriveLetter : " + logDisk["Name"]
+ "\n\t" + drive["PNPDeviceID"]
+ "\n\tSerialNumber: " + drive["SerialNumber"]
+ "\n\t" + drive["Capabilities"]
+ "\n\tRevision : " + drive["FirmwareRevision"]);
}
}
}
在调试调查中,我可以看到 drive["Capabilites"]
的每个值,但到目前为止我尝试过的所有内容,我都无法获得该数组的子值。
我想用 C++ 来做这个,感谢您的帮助。
最佳答案
要访问这些值,您必须转换属性和数组,然后遍历元素。试试这个 C++ CLI 示例代码。
#include "stdafx.h"
#using <system.management.dll>
using namespace System;
using namespace System::Management;
int main(array<System::String ^> ^args)
{
ManagementObjectSearcher ^searcher =
gcnew ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskDrive");
for each (ManagementObject ^drive in searcher->Get())
{
for each (ManagementObject ^o in drive->GetRelated("Win32_DiskPartition"))
{
for each (ManagementObject ^logDisk in o->GetRelated("Win32_LogicalDisk"))
{
Console::WriteLine(
"Disk: " + drive["Caption"]
+ "\n\tSize : " + drive["Size"]
+ "\n\tDriveLetter : " + logDisk["Name"]
+ "\n\t" + drive["PNPDeviceID"]
+ "\n\tSerialNumber: " + drive["SerialNumber"]
+ "\n\tRevision : " + drive["FirmwareRevision"]);
Console::WriteLine("Capabilities");
for each(UInt16 v in (array<UInt16>^)(drive->Properties["Capabilities"]->Value))
{
Console::WriteLine(v);
}
}
}
}
Console::ReadLine();
return 0;
}
关于c++ - PropertyData 值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23084919/
我正在尝试通过 wmi 查询获取特定值。我知道这个值本身存储在一个数组中,但我无法访问它。 ManagementObjectSearcher ^searcher = gcnew Managem
给出以下测试: [Theory] [PropertyData("GetValidInputForDb")] public void GivenValidInputShouldOutputCorrect
[C# .NET Windows 窗体 WMI] 我是 C# 的新手,但我有使用 VBScript 的经验,我正在尝试将我编写的脚本转换为 C#。我不只是使用转换器,而是重写代码并尝试优化它以帮助我学
我正在使用 [AutoNSubstituteData]属性,发布在这里: AutoFixture, xUnit.net, and Auto Mocking 我想将此与 [PropertyData(""
我是一名优秀的程序员,十分优秀!