有没有办法访问 netsh
api(例如win32 api,wdk)?
例如,我试图通过netsh
通过以下命令获取移动宽带信息:
netsh mbn show interfaces
所以我想真正的问题是:使用Windows SDK方法的netsh mbn show interfaces
的实际编程表示?
伪代码中的一个示例:
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)才能在上面的命令中获得相同的结果?
一些Microsoft工具使用内部/无证API执行其工作,因此克隆它们通常需要进行一些调查。
第一步是下载依赖性沃克并查看Netsh Imports的功能。在这种情况下,它看起来并不像导入许多与网络相关的内容(在我的Windows 8机器上),但是它确实导入了CoCreateInstance
和GetProcAddress
,因此您可以在调试器中对这两者都设置一个断点,这应该允许您确定功能/接口它最终最终打电话。
即使在您走得更远之前,您也可以简单地Google"移动宽带API",它应该引导您进入此MSDN页面。您应该查看这些接口,看看它们是否提供了您所关注的信息...
我在此链接上找到了答案:https://social.msdn.microsoft.com/forums/forums/vstudio/en-us/2d810752-f647-41f6-41f6-41f6-9299-27b6adddd536/如何访问信号 - 限制 - a-mobile-broadband-network-network-intwork-in-windows-in-windows-7- in-using-us corum = csharpgeneral
- 添加 mbnapi_uuid.lib 添加到您的C 项目(Linker-> Input->附加)依赖项)。
- 将COM选项卡添加到C#项目的参考:'定义:UCM扩展MBN类型库的API'