C++ 使用批处理,如何确定您是否连接到WiFi网络?
使用C++ 使用批处理,如何确定您是否连接到WiFi网络?,c++,batch-file,networking,C++,Batch File,Networking,使用netsh wlan connect name=“your network\u name”可以请求连接到WiFi网络,但无法确定是否已连接 那么,在批处理中,检查我是否连接到WiFi网络的命令行是什么?(WiFi网络可能有网络接入,也可能没有网络接入。)【它也应该适用于移动热点】 如果已连接,则应显示YES 如果未连接,则应显示NO 因为我想根据得到的结果运行一个循环 所以有人能写出好的工作批处理程序!!和c++(如果可能的话) 我所尝试的: WMIC /node: ”PutYourPCNa
netsh wlan connect name=“your network\u name”
可以请求连接到WiFi网络,但无法确定是否已连接
那么,在批处理中,检查我是否连接到WiFi网络的命令行是什么?(WiFi网络可能有网络接入,也可能没有网络接入。)【它也应该适用于移动热点】
如果已连接,则应显示YES
如果未连接,则应显示NO
因为我想根据得到的结果运行一个循环
所以有人能写出好的工作批处理程序!!和c++(如果可能的话)
我所尝试的:
WMIC /node: ”PutYourPCNameHere” path WIN32_NetworkAdapter where (NetConnectionID="Wi-Fi") get NetConnectionStatus
但我们不能把if循环。所以我不知道如何继续
及
但这在移动热点(没有互联网)上是行不通的
是两种状态的输出,连接和未连接
因此,测试输出中是否出现信号
,即是否连接
C:\Windows\system32>netsh wlan show interfaces | Findstr /c:"Signal" && Echo Online || Echo Offline
Offline
C:\Windows\system32>netsh wlan show interfaces | Findstr /c:"Signal" && Echo Online || Echo Offline
Signal : 93%
Online
&&
和|
是if
命令的简写形式
请参阅此处的my CMD备忘表
NetSh wlan show interfaces
显示您所连接的内容。请参见netsh wlan show/?
。但是我不能使用if条件,兄弟。“那么有人可以编写好的工作批处理程序!!和c++(如果可能的话)”-所以不是编码服务。显示您已经尝试了什么,以及您到底遇到了什么困难(目前,您的问题只涉及bash,而不是c++),这里的其他人都可以。您可以使用For/f
循环逐行进行分析。您可以使用Findstr
和If
。如果您想知道netsh是如何实现的,那么请在记事本中打开它并查看它调用的函数。它加载Netshell.dll并使用我添加的@Torbjörn上的WlanOpenHandle、WlanQueryInterface、wlanfreemory、WlanCloseHandle、WlanHostedNetworkQueryProperty等wlan函数!我试过了,太棒了!兄弟!有用处!但是为什么不使用:netsh wlan show interfaces | Findstr/c:“connected”&&Echo Online | | Echo offline我在输出中的任何地方都看不到connected这个词。(它在断开连接)。明白了,兄弟!非常感谢!如果我需要帮助,有没有办法联系我?在这里发帖。我终于在输出中找到了连接。嘿,兄弟,需要帮助。
C:\Windows\system32>netsh wlan show interfaces
There is 1 interface on the system:
Name : Wi-Fi
Description : Realtek RTL8723BE 802.11 b/g/n Wi-Fi Adapter
GUID : 6383a702-c44d-465e-8f5d-e7b3bc52b300
Physical address : 18:4f:32:35:3b:1d
State : connected
SSID : OptusWiFi E5331 0afa
BSSID : d0:7a:b5:8a:0a:fa
Network type : Infrastructure
Radio type : 802.11n
Authentication : WPA2-Personal
Cipher : CCMP
Connection mode : Profile
Channel : 6
Receive rate (Mbps) : 72
Transmit rate (Mbps) : 72
Signal : 93%
Profile : OptusWiFi E5331 0afa
Hosted network status : Not available
C:\Windows\system32>netsh wlan show interfaces
There is 1 interface on the system:
Name : Wi-Fi
Description : Realtek RTL8723BE 802.11 b/g/n Wi-Fi Adapter
GUID : 6383a702-c44d-465e-8f5d-e7b3bc52b300
Physical address : 18:4f:32:35:3b:1d
State : disconnected
Radio status : Hardware On
Software Off
Hosted network status : Not available
C:\Windows\system32>netsh wlan show interfaces | Findstr /c:"Signal" && Echo Online || Echo Offline
Offline
C:\Windows\system32>netsh wlan show interfaces | Findstr /c:"Signal" && Echo Online || Echo Offline
Signal : 93%
Online