我已经在我的计算机上设置了WMI代码创建者,我已经从here安装了该代码。
我想知道命名空间和类(动态或静态)我需要从WMI代码创建器应用程序中选择,如下图所示,以便在以太网中获取WMI回调电缆已连接到计算机。
应该说"连接以太网电缆"当它与计算机连接时,
它应该说"以太网电缆断开"当它与计算机断开连接时
选择合适的命名空间和类后,我将使用代码创建者的C#代码并在我的计算机上运行它以检测计算机上的网络更改。
答案 0 :(得分:1)
这样的事情应该让你开始:
var q = new WqlEventQuery("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_NetworkAdapter'");
var hostInstanceWatcher = new ManagementEventWatcher(new ManagementScope(@"\\.\root\CIMV2"), q);
hostInstanceWatcher.EventArrived += (sender, eventArgs) =>
{
var adapter = (ManagementBaseObject) eventArgs.NewEvent.GetPropertyValue("TargetInstance");
var status = (ushort) adapter.GetPropertyValue("NetConnectionStatus");
switch (status)
{
case 2: Console.WriteLine("Connected");
break;
case 7: Console.WriteLine("Disconnected");
break;
}
};
hostInstanceWatcher.Start();
Console.WriteLine("Press any key to quit");
Console.ReadKey();