我想检测设备何时连接到运行我的应用程序的机器的以太网端口.我知道如何用USB端口做到这一点,但问题是,端口不是USB!
如果它是一个USB设备,我会简单地覆盖WndProc并捕获消息,如果它是WM_DEVICECHANGE,那么我是一个胜利者,我想知道它是否像这样简单,任何可插入端口的设备?
我不想知道是否有任何事情发生,或者设备是否正常工作,只是想知道是否有插入或删除.
我自己从未使用过它,但我认为该NetworkChange.NetworkAvailabilityChanged活动可能适合您的需求。
更新
简短的调查表明NetworkChange.NetworkAddressChanged可能效果更好:
public static void Main()
{
NetworkChange.NetworkAddressChanged += (s, e) =>
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (var item in nics)
{
Console.WriteLine("Network Interface: {0}, Status: {1}", item.Name, item.OperationalStatus.ToString());
}
};
string input = string.Empty;
while (input != "quit")
{
input = Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |