Показать сообщение отдельно
Старый 03.05.2009, 22:05   #12
ashu
Старший Пользователь
 
Аватар для ashu
 
Регистрация: 25.11.2007
Возраст: 51
Город: СПб, Гондурас
Регион: 78, 98
Машина: Toyota Prius 11S выпуска 2001/09
Сообщений: 766
ashu has a spectacular aura aboutashu has a spectacular aura about
По умолчанию

Подниму эту старую тему...

Usb-bluetooth адаптер Jabra с родными widcomm'овскими дровами.
После выхода из сна иногда (далеко не всегда) возникала ситуация, что всё работает, но rasdial не может подключиться к Интернету. Помогает либо ручная операция физически вынуть-вставить сам донгл в комп, либо перезагрузка компа.
Ни то, ни другое меня не устраивало, хотелось полного автоматизма и без каких-либо перезагрузок компа (из сна комп просыпается намного быстрее обычной загрузки).

Пробовал отключать/включать устройство при помощи devcon'а, идущего в комплекте RR, - не помогло. Пытался отключать/включать устройство при помощи SafelyRemove, - вроде б иногда помогало, но не всегда. Игры с rasdial'ом вообще мимо кассы, - максимум, что добивался, так это исчезновения ярлыка bluetooth-подключения вообще (до перезагрузки).

Когда в очередной раз после выхода из сна rasdial отказался подключаться к Интернету, я стал искать какими манипуляциями всё ж можно добиться восстановления работы rasdial'а... И нашел, что если кликнуть правой кнопкой в трее по иконке bttray.exe (значек блютуса) и в появившемся меню выбрать самый нижний пункт - отключение блютуса, а потом через несколько секунд провести все те же действия и через нижний пункт меню включить блютус, то rasdial снова начинает весело подключаться к Интернету!
Осталось дело за малым - автоматизировать этот процесс

Подключением и отключением от Интернета у меня занимается мой обслуживающий ahk-скрипт, поэтому и решение искать я стал в рамках autohotkey'я. Подробно метод выяснения какую команду надо послать в окно (в том числе и скрытое) описан здесь.
В случае с жаброй всё свелось к двум командам с паузами (в случае нескольких неудачных попыток подключиться к Интернету):

PostMessage, 0x111, 7049,,, ahk_class AfxWnd42 ; bluetooth off
Sleep, 4000 ; ждем примерно 4 секунды
PostMessage, 0x111, 7048,,, ahk_class AfxWnd42 ; bluetooth on
Sleep, 8000 ; ждём примерно 8 секунд

Всё! Тырнет теперь есть всегда без необходимости перезагрузки!
__________________
Мой Toyota Prius NHW11
ashu вне форума   Ответить с цитированием