Что нового

Автоматическое подключение к BlueTooth устройству

VadimKHL

Новичок
Сообщения
155
Репутация
0
Добрый день!
Есть некоторые проблемы. При подключении к блютуз устройству происходит запрос пин кода.
Вот такое вот окно:


После ввода пина к устройству можно подключаться сколько угодно, без ввода пина.
Но при перезагрузке компьютера, снова один раз надо ввести пин.

Подскажите пожалуйста, как можно это реализовать при помощи AutoIT?
 

All2khoff

Продвинутый
Сообщения
351
Репутация
65
Пин-Код каждый раз один и тот же?
 
Автор
V

VadimKHL

Новичок
Сообщения
155
Репутация
0
Да, один тот же. Причем просит ввести только один раз, после, отключается/подключается без запроса ПИНА до перезагрузки WIn.
Все галочки на автосопряжение и тд. установлены. А пин все равно просит.
Пока единственное решение нашел такое:
Код:
Global $DeviceList[] = ["20:15:12:08:44:40", "7890", "20:15:12:08:44:42", "1234", "20:15:12:08:44:43", "5345"]
Global $WorkTime = 10000

_AutoPIN()
Exit

Func _AutoPIN()
    Local $iTimer = TimerInit()

    While TimerDiff($iTimer) < $WorkTime
        Local $iMacR
        ; Получить список открытых окон, где присутствуют строка "Пароль Bluetooth(НАЗВАНИЕ_УСТРОЙСТВА)"
        ; В НАЗВАНИЕ_УСТРОЙСТВА обязательно должно присутствовать слово Galant.
        ; (?i) - опция, отключает чувствительность к регистру для поиска.
        Local $iList = WinList("[REGEXPTITLE:(?i)(.*Пароль Bluetooth\(.*Galant.*\).*)]")

        ; Проверяем полученный список на соответствие MAC (он находиться в Edit4 окна запроса пароля).
        If $iList[0][0] <> 0 Then
            For $iTest = 1 To $iList[0][0]

                ; Считать MAC устройтсва, которое требует ввода PIN.
                $iMacR = ControlGetText($iList[$iTest][1], "", "Edit4")

                ; Проверяем MAC по списку устройств.
                For $iTestMac = 0 To Ubound($DeviceList) - 1 Step 2
                    If $DeviceList[$iTestMac] = $iMacR Then
                        ; Скрыть окно, что бы пользователь не ввел PIN.
                        WinSetState($iList[$iTest][1], "", @SW_HIDE)
                        ; Ввести PIN для данного устройства.
                        ControlSetText($iList[$iTest][1], "", "Edit1", $DeviceList[$iTestMac + 1])
                        ; Нажать OK.
                        ControlClick($iList[$iTest][1], "", "Button1")
                        ExitLoop
                    EndIf
                Next

            Next
        EndIf
        sleep(10)
    WEnd

EndFunc


Может есть более красивые решения? Типа что нибудь в реестр записать указать и тд?
 
Верх