我正在从事VPN项目...关于TUN/TAP,我有一个小问题。
在C#中,如何以编程方式检查/检测系统上是否安装了TUN/TAP驱动程序?
您可以通过执行WQL SelectQuery来检查特定驱动程序是否已安装。
using System;
using System.Management;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Searching for driver...");
System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver");
query.Condition = "Name = 'SomeDriverName'";
System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
var drivers = searcher.Get();
if (drivers.Count > 0) Console.WriteLine("Driver exists.");
else Console.WriteLine("Driver could not be found.");
Console.ReadLine();
}
}
}
如果上述代码编译失败,请确保添加对System.Management程序集的引用。
您还可以找到以下参考资料有用:
获取计算机上安装的所有驱动程序
获取已安装驱动程序的列表|DaniWeb