我正在寻找一个很好的解决方法来在 Windows 7 和 Windows XP 上执行此操作:
- 禁用或使网络接口(ETH、WIFI、任何 NIC)无效。
- 如果用户连接他的 ETH 电缆,网络接口将再次启用。
需要注意的重要注意事项:
- 我在Win7上使用wmic(通过命令行)
- 我在WinXP上使用devcon(通过命令行)
- 我专门在 C# 上使用 .NET Framework 2.0,但这仅供参考。
- 我知道事件不会帮助我检测到它(如果有办法或解决方法来做到这一点,我不知道)。
真正的问题是,当我禁用 NIC 时,我无法知道用户是连接了他的电缆还是有线网络。这就是我寻找解决方法的原因。
如果不存在直接答案,我会将建议视为答案。我会提供任何必要的额外细节。
做不到。一旦接口被禁用,Windows 就无法看到何时插入了电缆。它需要启用接口才能与其对话并获取有关它是否具有网络连接的信息。你最好的办法是看看你是否能找到一种方法让接口在应用程序级别保持启用但不可用,然后在有连接时启用该级别。这当然是一个编程问题,不适合 SF。