如何使用C++在 Windows XP 中重新启用已禁用的网络连接

How to re-enable a disabled network connection in Windows XP using C++?

本文关键字:启用 连接 网络 C++ 何使用 Windows XP 新启用      更新时间:2023-10-16

我在SO上找到了这篇文章,它讲述了如何使用SetupAPI启用/禁用网络adpter。到目前为止,这工作正常。问题是我找不到一种方法来获取已在Windows XP中禁用的网络连接(适配器)的设备索引。

我有:

  • GUID 列表(来自 HKLM\SOFTWARE\Microsoft\Windows NT\Netcards)
  • Windows XP 中支持的所有Win32_NetworkAadapter

我尝试过但没有成功:

  • GetIfTable() - 表中不存在禁用的适配器
  • Win32_NetworkAdapter::XP 不支持接口索引
  • Win32_NetworkAdapter::Enable()/Disable() 在 XP 中不受支持

我还能执行哪些操作来获取设备索引或重新启用禁用的网络适配器?

根据我构建网络连接防护工具的经验,最简单的方法是使用 netsh 命令,而不是 API。我的例子是 C#,所以我使用了System.Diagnostics.Process但在你的情况下,我相信你可以使用 ShellExecute() .

另请参阅有关 SO 编程禁用/启用网络接口的此答案