Win32_DiskDrive上无效的WQL查询
|
我正在玩WMI。我正在尝试修改以下代码以修复错误,即该错误最初是由模型查询的。如果您有两个具有相同型号的驱动器,它将仅返回第一个磁盘的\\\\。\\ PHYSICALDEVICE。相反,我现在向用户显示一个\\\\ PHYSICALDEVICE:MODEL字符串。他们从下拉列表中选择此选项,我解析出物理设备并将其用于查询。
除了我不断收到MOS查询上返回的错误“无效查询”
\"SELECT * FROM Win32_DiskDrive WHERE DeviceID = \'\" + device + \"\'\"
在我看来,查询看起来不错,但显然不是。帮助表示赞赏。
完整代码:
private void Form1_Load(object sender, EventArgs e)
{
//Select item from drop down menu
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher(
\"SELECT * FROM Win32_DiskDrive\");
foreach (ManagementObject moDisk in mosDisks.Get())
{
string devid = moDisk[\"Model\"].ToString();
string drvnum = moDisk[\"DeviceID\"].ToString();
cmbHdd.Items.Add(drvnum + \": \" + devid);
}
}
private void cmbHdd_SelectedIndexChanged(object sender, EventArgs e)
{
//update form with selected device
int i = cmbHdd.SelectedItem.ToString().IndexOf(\':\');
string device = cmbHdd.SelectedItem.ToString();//.Substring(0,i);
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher(
\"SELECT * FROM Win32_DiskDrive WHERE DeviceID = \'\" + device + \"\'\");
foreach (ManagementObject moDisk in mosDisks.Get())
{
lblDeviceID.Text = \"DeviceID: \" + moDisk[\"DeviceID\"].ToString();
}
}
没有找到相关结果
已邀请:
1 个回复
捐焦
)必须加倍。 将变量2替换为变量5的变量4中的4之前,先将其替换为查询,看看是否有帮助。