我正在尝试自动化中央电视台在 Windows 10 上使用 AutoIt 布防 - 当我不在家时,尝试通过 ping 我的手机来布防摄像头(三星 Galaxy S7)。
我尝试 ping 手机的本地 IP 地址,但当手机进入睡眠状态时,它停止 ping。我看过一些关于 ping 蓝牙地址的帖子,但我找不到任何实际说明...我该怎么做?
答案1
您可以使用 DllCall() 和 Windows API: 蓝牙 和蓝牙参考。请看这里:
对于这些例子:
#include <WinAPI.au3>
;~ https://www.autoitscript.com/forum/topic/140162-help-with-dllstruct-and-pointers/?tab=comments#comment-984341
Global Const $hDllBthProps = DllOpen("bthprops.cpl")
Global $phRadio
Global $hFind = _BluetoothFindFirstRadio($phRadio)
MsgBox(0, "", "error: " & @error & @CRLF & "hFind: " & $hFind & @CRLF & "hRadio: " & $phRadio)
_WinAPI_CloseHandle($phRadio)
_BluetoothFindRadioClose($hFind)
Func _BluetoothFindFirstRadio(ByRef $phRadio)
Local $tBLUETOOTH_FIND_RADIO_PARAMS = DllStructCreate('DWORD')
DllStructSetData($tBLUETOOTH_FIND_RADIO_PARAMS, 1, DllStructGetSize($tBLUETOOTH_FIND_RADIO_PARAMS))
Local $aResult = DllCall($hDllBthProps, "handle", "BluetoothFindFirstRadio", "struct*", $tBLUETOOTH_FIND_RADIO_PARAMS, "handle*", 0)
If @error Then Return SetError(2, @error, 0)
$phRadio = $aResult[2]
Return SetError($aResult[0] = 0, 0, $aResult[0])
EndFunc ;==>_BluetoothFindFirstRadio
Func _BluetoothFindRadioClose($hBtFind)
Local $aResult = DllCall($hDllBthProps, "bool", "BluetoothFindRadioClose", "handle", $hBtFind)
If @error Then Return SetError(2, @error, 0)
Return SetError($aResult[0] = 0, 0, $aResult[0])
EndFunc ;==>_BluetoothFindRadioClose