C# wmi禁用USB口的代码
时间: 2024-09-15 08:04:04 浏览: 90
在C#中,通过Windows管理工具(WMI)来禁用USB端口,通常需要使用System.Management命名空间下的类。以下是一个简单的示例代码,它通过WMI查询并禁用指定的USB端口:
```csharp
using System;
using System.Management; // 引入System.Management命名空间
class Program
{
static void Main()
{
try
{
// 创建一个WMI查询,选择要禁用的USB端口
// 注意:'ROOT\cimv2:Win32_PnPEntity.Name="USB\VID_XXXX&PID_XXXX"' 需要替换成你想禁用的USB设备的实际名称
string query = "SELECT * FROM Win32_PnPEntity WHERE Name='USB\\VID_XXXX&PID_XXXX'";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\cimv2", query);
foreach (ManagementObject result in searcher.Get())
{
// 通过DeviceID来禁用设备
// 注意:设备ID(DeviceID)需要根据实际情况进行替换
ManagementBaseObject inParams = result.GetMethodParameters("Disable");
result.InvokeMethod("Disable", inParams, null);
Console.WriteLine("USB端口被禁用");
}
}
catch (Exception ex)
{
Console.WriteLine("发生异常: " + ex.Message);
}
}
}
```
在这段代码中,你需要将`USB\\VID_XXXX&PID_XXXX`替换为你想要禁用的USB设备的实际设备ID。设备ID通常可以在设备管理器中查看。
请注意,在实际操作中,修改系统设置通常需要管理员权限。确保你的应用程序有足够的权限来执行这些操作,否则可能无法成功禁用USB端口。
阅读全文