【发布时间】:2017-02-20 18:52:12
【问题描述】:
有没有办法访问netsh API(例如 WIN32 API、WDK)?
例如,我正在尝试使用以下命令通过netsh 获取移动宽带信息:
netsh mbn show interfaces
所以我猜真正的问题是:netsh mbn show interfaces 使用 Windows SDK 方法的实际编程表示是什么?
伪代码中的示例:
MBN_DEVICE mbn;
GetMbnDev(&mbn);
char* Name = mbn.Name;
char* IMEI = mbn.IMEI;
char* DeviceId = mbn.DevId;
float signal = mbn.Signal;
我必须调用哪些 API (Win32/.Net/.Core) 才能在 数据结构 中获得与上述命令相同的结果?
【问题讨论】:
-
是的,有一种方法可以使用与
netsh相同的 API。 -
netsh.exe是一个可执行文件,不提供直接的 c++ API。您可能可以使用管道与 c++ 程序中的可执行文件进行交互。更常用的方法是直接访问 winsocks API(或通过一些抽象,如boost::asio)。 -
@πάνταῥεῖ 在这种情况下,netsh.exe 实际上导出了 C 函数,这些函数由 NAPMONTR.DLL 调用
-
谢谢,@theB 非常有用的信息。
标签: c++ windows winapi networking netsh