我正在开展一个项目,要求我可以在PC和Mac上可靠地检测到无线功能的存在。
理想情况下,我希望通过现有的命令行工具来实现这一点,我可以使用我的应用程序打包或者可能已经存在于操作系统中。
通过无线功能,我的意思是在台式PC上存在无线网络适配器,或者在笔记本电脑甚至无线Dongle / USB Key上内置无线 - 基本上存在任何允许连接的设备或组件无线路由器。
我一直在研究从PC上的“ipconfig / all”或“systeminfo”以及Mac上的“system_profiler”中捕获输出...然后解析已知的无线适配器和关键字,但这看起来不像一个理想的解决方案。
我可以使用任何API在任一平台上实现此目的吗?
编辑:理想情况下,我想支持的平台是:
Windows:2000 / XP / Vista / 7 Mac:10.4 / .5 / .6
答案 0 :(得分:1)
您会发现Managed Wifi API有用
答案 1 :(得分:1)
而不是ipconfig
为什么不简单地查询用于网络配置的一体化工具netsh
?
当存在WiFi设备时:
> netsh wlan show drivers Interface name: Wireless Network Connection Driver : Intel(R) PRO/Wireless 3945ABG Network Connection Vendor : Intel Corporation Provider : Microsoft Date : 2009-03-26 Version : 12.4.1.4 INF file : C:\Windows\INF\netw5v64.inf Files : 1 total C:\Windows\system32\DRIVERS\netw5v64.sys Type : Native Wi-Fi Driver Radio types supported : 802.11a 802.11b 802.11g FIPS 140-2 mode supported : Yes Hosted network supported : No Authentication and cipher supported in infrastructure mode: Open None Open WEP-40bit Open WEP-104bit Open WEP Shared WEP-40bit Shared WEP-104bit Shared WEP WPA-Enterprise TKIP WPA-Enterprise CCMP WPA-Personal TKIP WPA-Personal CCMP WPA2-Enterprise TKIP WPA2-Enterprise CCMP WPA2-Personal TKIP WPA2-Personal CCMP Open Vendor defined Authentication and cipher supported in ad-hoc mode: Open None Open WEP-40bit Open WEP-104bit Open WEP Shared WEP-40bit Shared WEP-104bit Shared WEP WPA2-Personal CCMP
当计算机中没有WiFi NIC时,Wireless AutoConfig服务可能没有运行(因为不需要):
> netsh wlan show drivers The Wireless AutoConfig Service (wlansvc) is not running.
但即使它是手动启动的:
> netsh wlan show drivers There is no wireless interface on the system.