【发布时间】:2013-03-09 22:43:33
【问题描述】:
我正在寻找一种通过 win32 api 在网络接口上启用或禁用 dhcp 的方法。 实际上我通过使用 wmi 解决了这个问题,但我想通过 win32 api 来解决这个问题,因为我想解决损坏的 wmi。
我找到了一个线程,他们通过注册表 api 执行此操作:On enabling Network adpater, Autoconfiguration IP address getting set 但这是实现的唯一方法吗?
干杯,ceth
【问题讨论】:
-
直接注册方法将变得脆弱。 WMI 可能是唯一明智的方法,除非有一个我不知道的非注册表 API,除非它是这个 API:SCAPI(设置和配置 API)。多亏了这个库,我知道如何在 Delphi 中做到这一点:sourceforge.net/projects/jedi-apilib 你可以检查它并从那里找到 SCAPI 函数的名称。
-
那么你将如何使用这个库来做到这一点?我发现了大量的 win32 api 函数映射。但我发现的唯一与 dhcp 相关的功能是来自 dhcp 客户端/服务器 api 的功能,它没有在网络适配器上启用/禁用 dhcp 的功能。
-
您希望找到将枚举网络适配器的类 ID 的 Setup API。然后,您要枚举该以太网适配器的配置属性。这是我知道的全部。自己想办法!
-
可以选择
netsh.exe吗? -
我终于用 wmi 做到了,如果 wmi 不工作,我将 netsh.exe 作为备份。 win32 api的方式太不方便了...