Проверяй настройки подключения - там у тебя проблема.Сообщение от dima007
Проверяй настройки подключения - там у тебя проблема.Сообщение от dima007
С уважением, Алексей
Мой Prius NHW11
Ну вроде запустил обновление, в разделе помощь-информация есть данные о обновлении и пробки показывает, а на экране "нет" горит и на кнопке "в сети" и "нет" ничего не понимаю..........
в разделе "редактируемые переменные - настройки" все ОК?Сообщение от dima007
Проверь действительно ли у тебя существует файлСообщение от dima007
C:\Program Files\City Guide\78SPb.jam
или пробки пишутся всё ж в какое-то другое место.
Если путь к jam-файлу указал правильно, то должно работать...
Если путь указан верно, но не работает, попробуй мою текущую версию avc_control.ahk:
KeyWait'ы добавлены для устранения проблем с разными способами софтверных имитации нажатий клавиш.Код:#NoTrayIcon ; не отображать значок скрипта в трее #SingleInstance force ; перезагрузить скрипт, если он уже запущен DetectHiddenWindows, On ; искать в скрытых окнах #NoEnv ; запрещаем имена переменных как у переменных окружения SendMode Input ; ускорренный ввод #Persistent ; держать скрипт запущенным SetTitleMatchMode 2 ; 2 - заголовок окна должен содержать значение, заданное в параметре ; ----------- редактируемые переменные - настройки ------------ winampid := "RRWinamp" ; идентификатор класса окна винампа cityguide := "City Guide" ; название окна CityGuide myconnection := "BluetoothConnection" ; название подключения к Инету btadapter := "Jabra - A320s" ; название адаптера bluetooth pinghost1 := "193.125.152.104" ; кого мучаем пингами в первую очередь (www.relcom.ru) pinghost2 := "194.87.0.50" ; кого мучаем пингами во вторую очередь (www.ru) onlinestr := "В сети" ; сообщение "Online" на экране (переменная RR OnlineStatus) offlinestr := "---" ; сообщение "Offline" на экране chkonline := "+ +" ; сообщение "постоянное подключение" на экране pstripwin := "Меры предосторожности" ; название стартового окна восстановления PowerStrip'а svhostwin := "svchost.exe - Ошибка приложения" ; название окна ошибки службы (вероятнее всего служба Windows Audio) winamperror := "NullSoft DirectSound output" ; название окна винампа с ошибкой звукового устройства checkperiod := 30 ; через сколько секунд (примерно) запускаем процедуру проверки сети и пробок СитиГида myjamfile := "C:\Program Files\City Guide\78SPb.jam" ; за каким файлом пробок следим (боевой) ;myjamfile := "C:\CityGuide\City Guide 2.2\78SPb.jam" ; за каким файлом пробок следим (тестовый) jamgreen := 8 ; до скольки минут считать возраст пробок зеленым jamred := 50 ; до скольки минут считать возраст пробок красным empty := "нет" ; что пишем на экране, если пробочный файл очень старый ; -------- конец редактируемых переменных - настроек ---------- WinAmpActive := 0 CityGuideActive := 0 day := 1 online := 0 setoffline := 0 oncheckonline := 0 Lastcheck := 0 checkperiod := - checkperiod * 1000 jamexpired := 1 ; Создаем пустое окно и сразу его прячем. Окно необходимо для получения команд управления от RR Gui, Show Sleep, 5000 WinWait, avc_control.ahk WinHide ; Устанавливаем обработчик для приёма команд через WM_COPYDATA от RR OnMessage(0x4A, "OnCopyData") SetTimer, CheckWarnings, 2000 SetTimer, CheckJam, 30000 SetTimer, CheckInternet, %checkperiod%, -1 ; периодическая проверка подключения к Интернету (с пониженным приоритетом) return StartWinAmp: SendMessage, 0x400,, 104,, ahk_class %winampid% ; проверка воспроизведения If ErrorLevel = 0 ; если не воспроизводится, то... PostMessage, 0x111, 40045,,, ahk_class %winampid% ; включить воспроизведение ; наверняка было выключение, поэтому проверяем подключение к Инету ; инициируем новый цикл проверки Интернета через 1 секунду If (oncheckonline <> 1) SetTimer, CheckInternet, -1000, -1 return CheckWarnings: ; Обработчик варнингов If WinAmpActive = 0 { IfWinExist, ahk_class %winampid% { ; WinAmp не был запущен, а сейчас найден в списке окон Gosub StartWinAmp WinAmpActive := 1 } } Else { IfWinNotExist, ahk_class %winampid% { WinAmpActive := 0 } Else { If (Lastcheck + 20000 < A_TickCount) { ; WinAmp был запущен и существует до сих пор, но ; давно не было проверок, возможно, работа останавливалась SetTimer, StartWinAmp, -5000 } } } If CityGuideActive = 0 { IfWinExist, %cityguide% { ; CityGuide не был запущен, а сейчас найден в списке окон WinActivate Send, 5 ; включить GPS CityGuideActive := 1 } } Else { IfWinNotExist, %cityguide% { CityGuideActive := 0 } } IfWinExist, %pstripwin% { ; Найдено стартовое окно восстановления PowerStrip'а WinActivate Send, Д } IfWinExist, %winamperror% { ; Найдено окно WinAmp'а с ошибкой звукового устройства ; Вероятнее всего звуковая usb-карта не успела проинициализироваться ; закрываем окно с ошибкой и через 5 секунд пытаемся запустить PLAY WinActivate Send, {Enter} SetTimer, StartWinAmp, -5000 } IfWinExist, %svhostwin% { ; Скидываем полученную ошибку приложения (вероятнее всего служба Windows Audio) WinActivate Send, {Esc} ; SetTimer, RestartAudio, -1000 } Lastcheck := A_TickCount return RestartAudio: RunWait, net stop AudioSrv,, Hide RunWait, net start AudioSrv,, Hide return CheckInternet: ; Обработчик интернет-проверок oncheckonline := 1 If (setoffline = 1) Gosub DoOffline Gosub DoOnline oncheckonline := 0 SetTimer, CheckInternet, %checkperiod%, -1 return ; конец процедуры CheckInternet CheckJam: ; Получаем время файла пробок FileGetTime, OutputVar, %myjamfile% mhour := Substr(OutputVar, 9, 2) mmin := Substr(OutputVar, 11, 2) ; Собираем текущую отметку времени (в минутах) currconntimestamp := A_Min + A_Hour*60 lastjamtimestamp := mmin + mhour*60 If (currconntimestamp < lastjamtimestamp) currconntimestamp := currconntimestamp + 24*60 ; Получаем возраст файла пробок jamtime := currconntimestamp - lastjamtimestamp jamexpired := 0 If (currconntimestamp > lastjamtimestamp + jamgreen) jamexpired := 1 If (currconntimestamp > lastjamtimestamp + jamred) jamtime := empty ; тут надо нарисовать цветом возраст пробочного файла If (jamexpired = 0) { ; Делаем зеленым SendToRR("SETVAR;MYJAMR||SETVAR;MYJAMG;" . jamtime) } Else { ; Делаем красным SendToRR("SETVAR;MYJAMG||SETVAR;MYJAMR;" . jamtime) } return ; конец процедуры CheckJam DoOffline: If (online = 1) SendToRR("SETVAR;OnlineSwitch;" . chkonline) Else SendToRR("SETVAR;OnlineSwitch") setoffline := 0 RunWait, rasdial %myconnection% /DISCONNECT,, Hide SendToRR("SETVAR;OnlineStatus;" . offlinestr) return DoOnline: If (online = 1) SendToRR("SETVAR;OnlineSwitch;" . chkonline) Else SendToRR("SETVAR;OnlineSwitch") If (jamexpired = 0) { ; пробки свежие - считаем, что с тырнетом всё в порядке SendToRR("SETVAR;OnlineStatus;" . onlinestr) return } Loop, 5 ; предпринимаем 5 попыток подключиться { RunWait, ping -n 3 -f -w 2000 %pinghost1%,, UseErrorLevel|Hide If (ErrorLevel = 0) { SendToRR("SETVAR;OnlineStatus;" . onlinestr) Break } Else { If (online = 1) Sleep, 5000 RunWait, ping -n 3 -f -w 2000 %pinghost2%,, UseErrorLevel|Hide If (ErrorLevel = 0) { SendToRR("SETVAR;OnlineStatus;" . onlinestr) Break } Else { SendToRR("SETVAR;OnlineStatus;" . offlinestr) } } If (online = 1) { Gosub DoOffline Sleep, 2000 If (A_Index > 4) { ; 4 попытки подключиться прошли напрасно - принимаем радикальные меры ; Отключаем и снова подключаем адаптер bluetooth RunWait, C:\Tools\usr.exe stop -n "%btapapter%",, Hide RunWait, C:\Tools\usr.exe return -n "%btadapter%",, Hide Sleep, 5000 ; даём системе прийти в себя после такого надругательства } RunWait, rasdial %myconnection%,, Hide } Else { Break } } return OnCopyData(wparam, lparam) { ; функция получения входящего сообщение WM_COPYDATA ; Сюда приходит вызов с полученным сообщением-командой от RR local pStr pStr := NumGet(lparam+8), len := NumGet(lparam+4) RecvMessage := SubStr(DllCall("MulDiv", "Int", pStr, "Int",1, "Int",1, "str"),1,len) If (RecvMessage = "switch") { If (online = 1) online := 0 Else online := 1 } Else { If (RecvMessage = "online") online := 1 Else online := 0 } If (online = 1) { setoffline := 0 SendToRR("SETVAR;OnlineSwitch;" . chkonline) } Else { setoffline := 1 SendToRR("SETVAR;OnlineSwitch") } If (oncheckonline <> 1) SetTimer, CheckInternet, -1000, -1 ; инициируем новый цикл проверки Интернета return 1 ; подтверждаем успешный приём сообщения } ; Функция отправки команды в RoadRunner SendToRR(msg="") { len := StrLen(msg) port := 1 ; RR слушает команды, приходящие на порт 1 VarSetCapacity(CopyDataStruct, 12, 0) NumPut(port, CopyDataStruct, 0) NumPut(len, CopyDataStruct, 4) ; тут именно len, а не len+1 как пишут в некоторых примерах NumPut(&msg, CopyDataStruct, 8) SendMessage, 0x4A,, &CopyDataStruct,, RoadRunner } ; Далее - обычные реакции на хоткеи ^!+c:: Critical KeyWait, c KeyWait, Shift KeyWait, Alt KeyWait, Control IfWinExist, ahk_class Winamp v1.x { ; Нашли активный KMPlayer - управляем им ControlSend, , !`` } Else { Send, ^!5 ; AutoHide для указателя мышки } return ^!+b:: Critical KeyWait, b KeyWait, Shift KeyWait, Alt KeyWait, Control Send, {Click right} ; имитация правой кнопки мышки return ^!+a:: ; screenshot текущего экрана Critical KeyWait, a KeyWait, Shift KeyWait, Alt KeyWait, Control RunWait, nircmd savescreenshot C:\PrScr.png,, Hide FileGetTime, OutputVar, C:\PrScr.png, C FileMove C:\PrScr.png, C:\Scrns\ss_%OutputVar%.png return ^!+e:: ; Команда NEXT для WinAmp'а / KMPlayer'а Critical KeyWait, e KeyWait, Shift KeyWait, Alt KeyWait, Control IfWinExist, ahk_class Winamp v1.x { ; Нашли активный KMPlayer - управляем им PostMessage, 0x111, 40048,,, ahk_class Winamp v1.x ; следующий трек } Else { PostMessage, 0x111, 40048,,, ahk_class RRWinamp ; следующий трек } return ^!+f:: ; Команда PREV для WinAmp'а / KMPlayer'а Critical KeyWait, f KeyWait, Shift KeyWait, Alt KeyWait, Control IfWinExist, ahk_class Winamp v1.x { ; Нашли активный KMPlayer - управляем им PostMessage, 0x111, 40044,,, ahk_class Winamp v1.x ; предыдущий трек } Else { PostMessage, 0x111, 40044,,, ahk_class RRWinamp ; предыдущий трек } return ^!+h:: ; Команда PLAY/PAUSE для WinAmp'а / KMPlayer'а Critical KeyWait, h KeyWait, Shift KeyWait, Alt KeyWait, Control IfWinExist, ahk_class Winamp v1.x { ; Нашли активный KMPlayer - управляем им SendMessage, 0x400,, 104,, ahk_class Winamp v1.x ; проверка воспроизведения If ErrorLevel = 0 ; если не воспроизводится, то... PostMessage, 0x111, 40045,,, ahk_class Winamp v1.x ; включить воспроизведение Else ; если воспроизводится, то... PostMessage, 0x111, 40046,,, ahk_class Winamp v1.x ; поставить на паузу } Else { SendMessage, 0x400,, 104,, ahk_class RRWinamp ; проверка воспроизведения If ErrorLevel = 0 ; если не воспроизводится, то... PostMessage, 0x111, 40045,,, ahk_class RRWinamp ; включить воспроизведение Else ; если воспроизводится, то... PostMessage, 0x111, 40046,,, ahk_class RRWinamp ; поставить на паузу } return ^!+i:: ; Переключатель профилей PowerStrip'а день/ночь Critical KeyWait, i KeyWait, Shift KeyWait, Alt KeyWait, Control if(!day) { Send, ^!1 day := 1 } else { Send, ^!2 day := 0 } return
С уважением, Алексей
Мой Prius NHW11
Пробки обновляются, на главном виде Road Runner наверху надпись "в сети" открываб сити гай на экране в правом верхнем углу "нет" горит и не убирается никак, а на кнопке тоже горит "в сети" и "нет" , но это еще что, если выйти из Road Runner и открыв Internet Explorer в одной из вкладки зайти на сайт сити гай, то в правом углу тоже выскочит "нет", а в панели задач CGJAM.
Я думаю наверное какие то детские ошибки, нестаит где нибудь чего нибудь, а на большом комп. тоже самое плюс пробки обновляет но не показывает.
Ну, ты намешал...Сообщение от dima007
Судя по всему, ты запустил сразу оба скрипта - и avc_control.ahk, и cityguide-is.ahk
В принципе, ничего плохого в этом нет. Но раз оба пишут "НЕТ", значит ты в обоих неправильно указал путь к jam-файлу (78SPb.jam).
Как вариант - системное время на компе у тебя стоит неправильное.
С уважением, Алексей
Мой Prius NHW11
А, что надо по одному запускать, я по обоим щелкаю
Последний раз редактировалось dima007; 26.12.2008 в 00:43.
Ну вроде доходит,
-avc_control.ahk это для Road Runner
-ahk, и cityguide- это когда просто программу одну запускаешь, правельно?
Пишет в "сети 4"-5 меняет значения, я понял это красные пробки, а других нету и еще прием GPS 4 палки, а Sаt:0, так и должно быть?
Спасибо все пошло.
Поздравляю! Добил таки, не отступил!Сообщение от dima007
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)