[已解决]请教如何判断存在无线网卡则执行?(感谢chzj58和raeast)
本帖最后由 令狐大虾 于 2019-10-11 20:19 编辑Win7系统下自动创建Wifi热点,检测到无线网卡则创建否则退出。
搜索论坛代码特别是lixiaolong的代码只是识别全机网卡而木有执行动作功能
加个判断
If Not @error Then
GUICtrlSetData($Input1, "发现无线网卡: " & $wk)
Else
GUICtrlSetData($Input1, "未发现无线网卡")
EndIf chzj589 发表于 2019-10-5 23:04
加个判断
If Not @error Then
GUICtrlSetData($Input1, "发现无线网卡: " & $wk)
谢谢回复,代码前部分呢? 扬帆技术论坛的令狐大侠?以前用过你的系统,很不错的系统。 通过CMD返回值做个判断,或者通过wmi查询。 API或读注册表都可以,WMI有些慢,看自己需求 本帖最后由 令狐大虾 于 2019-10-7 12:49 编辑
lpxx 发表于 2019-10-7 10:16
通过CMD返回值做个判断,或者通过wmi查询。
鄙人正是,见笑了。 afan 发表于 2019-10-7 10:27
API或读注册表都可以,WMI有些慢,看自己需求
没达到这个技术水平,只能用别人的代码修修补补:face (7): 令狐大虾 发表于 2019-10-7 12:48
鄙人正是,见笑了。
以前收集代码,供参考。
#include <Constants.au3>
While 1
Sleep(1000)
$sString = _CMDRead_WiFi_Signal("netsh wlan show networks mode=bssid >> " & @ScriptDir & "\temp.txt")
ConsoleWrite($sString & @CRLF)
WEnd
Func send_cmd($CMD)
RunWait(@ComSpec & " /c " & $CMD, @SystemDir, @SW_HIDE, $STDOUT_CHILD)
EndFunc ;==>send_cmd
Func _CMDRead_WiFi_Signal($command)
send_cmd($command)
$sFilePath = "temp.txt"
Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "读取文件时发生错误.")
Return False
EndIf
Local $sFileRead = FileRead($hFileOpen)
FileClose($hFileOpen)
$CMDRead_Start = StringInStr($sFileRead, "信号 :")
$sFileRead = StringMid($sFileRead, $CMDRead_Start + 20, 4)
Return SetError(@error, @extended, $sFileRead)
EndFunc ;==>_CMDRead_WiFi_Signal有无线网卡即有信号显示
接口名称 : 无线网络连接
当前有 8 个网络可见。
SSID 1 : E5BCA0E6B19DE99D92
Network type : 结构
身份验证 : WPA2 - 个人
加密 : CCMP
BSSID 1 : dc:fe:18:6b:28:3a
信号 : 30%
无线电类型 : 802.11n
频道 : 1
基本速率(Mbps) : 1 2 5.5 11
其他速率(Mbps) : 6 9 12 18 24 36 48 54
SSID 2 : CMCC-FAPi
............................
没有无线网卡显示
系统上没有无线接口。
系统上没有无线接口。
系统上没有无线接口。
...................
lpxx 发表于 2019-10-7 17:09
以前收集代码,供参考。
有无线网卡即有信号显示
没有无线网卡显示
谢谢提供的代码,但是并不适合我提出的要求。
我要的是检测到无线网卡则执行动作(例如创建移动热点) API udf https://www.autoitscript.com/forum/topic/91018-native-wifi-functions/
#AutoIt3Wrapper_UseX64=n
#include <nativewifi.au3>
If IsArray(_Wlan_StartSession()) Then MsgBox(0, '', '执行你的代码') 繁星 发表于 2019-10-7 23:48
API udf https://www.autoitscript.com/forum/topic/91018-native-wifi-functions/
令狐大虾 发表于 2019-10-8 13:21
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $wk
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1 (" & @ScriptName & ")", 515, 138, 192, 124)
$GLabel1 = GUICtrlCreateLabel("无线网卡 :", 20, 20, 80, 22)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUICtrlSetColor(-1, 0x990000)
$Input1 = GUICtrlCreateLabel("", 95, 20, 375, 22);, $WS_VSCROLL)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $wmi = _wxwk()
If Not @error Then
GUICtrlSetData($Input1,$wk);"无线网卡: " &
GUICtrlSetColor($Input1, 0x009900)
RunWait(@ScriptDir & "\获取网卡MAC地址.exe")
Else
GUICtrlSetData($Input1, "未发现无线网卡")
GUICtrlSetColor($Input1, 0x990000)
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _wxwk();获取网卡信息
$rootCIMV2 = ObjGet("winmgmts:\\.\root\cimv2");检索对象
$jbxxwk = $rootCIMV2.ExecQuery("Select * from Win32_NetworkAdapter Where NetConnectionStatus =2");网卡
For $object In $jbxxwk
$wk = StringStripWS($object.Name, 1)
Next
EndFunc ;==>_wxwk
chzj589 发表于 2019-10-9 10:29
#include
#include
谢谢回复,但是识别错误:
还有下面图片红线处这玩意哪来的?
本帖最后由 chzj589 于 2019-10-9 12:05 编辑
令狐大虾 发表于 2019-10-9 10:56
谢谢回复,但是识别错误:
还有下面图片红线处这玩意哪来的?
那是判断发现无线网卡,运行程序。
我测试用的,你可改或注消
测试环境:WIN764位,AutoIt3\autoit3_x64.exe(3.3.14.2)
页:
[1]
2