Страница 3 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 21 по 30 из 126

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от Parador
    ЗЫ. Мне было бы удобно по правому борту между средней и верхней кнопками.
    Ну, что-то, вроде, получилось
    Делал под 800x480. Если чего не так - сорцы открыты Можно, например, недостающий функционал перетащить из моего avc_control.ahk.

    В общем, ниже представлен обрезанный вариант моего скрипта avc_control.ahk для Parador'а и других, кто в силу обстоятельств не пользуется RoadRunner'ом.

    Скрипт умеет только:
    1. В только что запущенный СитиГид посылать "5" - включение GPS.
    2. Показывать поверх окна СитиГида "возраст" пробочного файла. Окно СитиГида при этом должно быть активным.

    cityguide-is.ahk:
    Код:
    #NoTrayIcon		; не отображать значок скрипта в трее
    #SingleInstance force	; перезагрузить скрипт, если он уже запущен
    #NoEnv			; запрещаем имена переменных как у переменных окружения
    SendMode Input		; ускорренный ввод
    #Persistent		; держать скрипт запущенным
    SetTitleMatchMode 2	; 2 - заголовок окна должен содержать значение, заданное в параметре
    
    ; ----------- редактируемые переменные - настройки ------------
    
    cityguide	:= "City Guide"				; название окна CityGuide
    myjamfile	:= "C:\Program Files\City Guide\78SPb.jam" ; за каким файлом пробок следим (боевой)
    ;myjamfile	:= "C:\CityGuide\City Guide 2.2\78SPb.jam" ; за каким файлом пробок следим (тестовый)
    jamgreen	:= 8					; до скольки минут считать возраст пробок зеленым
    jamred		:= 40					; до скольки минут считать возраст пробок красным
    empty		:= "НЕТ"				; что пишем на экране, если пробочный файл очень старый
    xPosition	:= 670					; x-позиция на экране
    yPosition	:= 105					; y-позиция на экране
    
    ; -------- конец редактируемых переменных - настроек ----------
    
    
    CityGuideActive := 0
    Custom1Color := "600305"
    Custom2Color := "036005"
    MyTextEmpty := ""
    gui, color, 000000
    gui, font, s48 bold, Arial
    Gui, Add, Text, c%Custom1Color% x200 y200 w130 h70 vMyRed, %MyText3%
    Gui, Add, Text, c%Custom2Color% x0 y0 w130 h70 vMyGreen, %MyText1%
    Gui, +LastFound +AlwaysOnTop
    WinSet, TransColor, 000000 200
    Gui, -Caption
    Gui, Show, x%xPosition% y%yPosition% w130 h70 NoActivate, CGJAM
    JamShow := 1
    SetTimer, ShowHideJam ; отслеживать показ на экране только в окне СитиГида
    SetTimer, SwitchText, 10000 ; проверять файл пробок каждые 10 секунд
    return
    
    GuiSize:
    	If (Errorlevel = 1)
    		Gui, Restore ; противодействуем минимизации окна
    
    ShowHideJam:
    	Act := 0
    	IfWinActive, %cityguide%
    	{
    		Act := 1
    	}
    	Else
    	{
    		IfWinActive, CGJAM
    		{
    			Act := 1
    		}
    	}
    	If (Act = 1)
    	{
    		If (JamShow <> 1)
    		{
    			WinShow, CGJAM
    			JamShow := 1
    		}
    	}
    	Else
    	{
    		If (JamShow = 1)
    		{
    			WinHide, CGJAM
    			JamShow = 0
    		}
    	}
    	If CityGuideActive = 0
    	{
    		IfWinExist, %cityguide%
    		{
    ; CityGuide не был запущен, а сейчас найден в списке окон
    			WinActivate
    			Send, 5 ; включить GPS
    			CityGuideActive := 1
    		}
    	}
    	Else
    	{
    		IfWinNotExist, %cityguide%
    		{
    			CityGuideActive := 0
    		}
    	}
    	return
    
    SwitchText:
    ; Получаем время файла пробок
    	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 + 5 < lastjamtimestamp)
    		currconntimestamp := currconntimestamp + 24*60
    
    ; Получаем возраст файла пробок
    	jamtime := currconntimestamp - lastjamtimestamp
    	If (jamtime > 9)
    	{
    		jamtime := "  " . jamtime
    	}
    	Else
    	{
    		jamtime := "   " . jamtime
    	}
    
    	jamexpired := 0
    	If (currconntimestamp > lastjamtimestamp + jamgreen)
    		jamexpired := 1
    	If (currconntimestamp > lastjamtimestamp + jamred)
    		jamtime := empty
    
    ; тут надо нарисовать цветом возраст пробочного файла
    	If (jamexpired = 0)
    	{
    ; Делаем зеленым
    		GuiControl, Move, MyRed, x200 y200 ; сдвигать надо, чтобы красный текст не исчезал при показе
    		GuiControl, Text, MyRed, %MyTextEmpty%
    		GuiControl, Text, MyGreen, %jamtime%
    		GuiControl, Move, MyGreen, x0 y0
    	}
    	Else
    	{
    ; Делаем красным
    		GuiControl, Move, MyGreen, x200 y200 ; сдвигать надо, чтобы красный текст не исчезал при показе
    		GuiControl, Text, MyGreen, %MyTextEmpty%
    		GuiControl, Text, MyRed, %jamtime%
    		GuiControl, Move, MyRed, x0 y0
    	}
    	return
    Последний раз редактировалось ashu; 30.11.2008 в 00:13.
    С уважением, Алексей
    Мой Prius NHW11

  2. #2
    Гуру Аватар для Parador
    Регистрация
    23.12.2007
    Возраст
    62
    Сообщений
    828
    Вес репутации
    600

    По умолчанию Re: Примеры ahk-скриптов

    Блин, Алексей, не издевайся! Куда засовывать-то?

    И еще. Если у меня ЖПС подключен всегда, "5" не помешает?
    Последний раз редактировалось Parador; 30.11.2008 в 00:22.
    Продаю домик у моря.
    Все в мире го*но, кроме мочи.

  3. #3
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от Parador
    Блин, Алексей, не издевайся! Куда засовывать-то?
    У меня засунуто в автозапуск.
    Чтобы работало, у тебя должен быть проинсталлирован AutoHotKey
    С уважением, Алексей
    Мой Prius NHW11

  4. #4
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Отвечу сюда - вдруг еще кому будет интересно

    Цитата Сообщение от Parador
    Цитата Сообщение от ashu
    И чего ты хочешь?
    Ты перечисли сразу что надо
    Соберу.
    Ну, сам напросился !
    1. Пошаговая инструкция к AutoHotKey (Куда засовывать скрипт, чего с ним делать и куда перекладывать. Как потом исправлять местоположение надписи на экране, добавлять и удалять скрипты и т.д.)
    Я положил прямо в папку "Автозапуск". Если в системе установлен AutoHotKey, то скрипты исполняются как бинарники.
    Местоположение надписи управляется переменными xPosition и yPosition - посмотри шапку скрипта - я туда перенёс все нужные переменные и насколько смог их прокомментировал.
    Вообще, скрипт можно скомпилировать в exe'шник, тогда не нужно инсталлировать в автомобильный комп AutoHotKey, но нескомпиллированный скрипт тем хорош, что ты можешь менять его прямо на ходу - чуть-чуть подправил и уже видишь результаты изменений (скрипт при этом надо запустить по-новой, старый при этом выгрузится).
    Цитата Сообщение от Parador
    2. Иногда пользуюсь халявным WiFi, поэтому звонилка мне не нужна. Вполне устраивает автоподключение прописанное в СГ.
    3. А вот втыкалку-вытыкалку (вернее включалку-выключалку модема, т.к. модем практически не вынимаю)хотелось бы.
    У меня тож раньше СитиГид сам дозванивался... Но были 2 проблемы:
    1. Если probki.net лежит/не отвечает, то СГ считает это ошибкой подключения и разрывает соединение. Т.е. нельзя определить проблема ли это оператора (нет соединения с Инетом) или это опять probki.net дурят.
    2. Т.к. процесс подключения мной не контролируется, то и невозможно автоматизировать процесс вытыкания/втыкания usb-адаптера bluetooth. Пытался сначала делать через чтения на ходу логов СитиГида (History.txt), но натолкнулся на пачку других проблем, в том числе проблем, вытекающих из п.1.
    Собственно, поэтому и отдал процесс подключения/отключения к Инету своему скрипту - он пытается 4 раза подключиться к Инету и после каждого раза пингами проверяет факт подключения. Если за 4 раза подключиться не удалось, то считаем, что проблема в адаптере и пытаемся его отключить и подключить снова.
    Вот...
    Можешь сделать у себя в IS доп-кнопочку, вызывающую запуск батника, в котором пропиши команды отключения и повторного включения твоего usb-модема - будешь в случае проблем с соединением просто тыкать в это кнопочку.

    Цитата Сообщение от Parador
    Я так понимаю все это будет работать через AutoHotKey? Курс молодого бойца по этой программе просто необходим. (С английским проблемы)
    Тут есть на русском: http://www.script-coding.info/AutoHo...anslation.html
    С уважением, Алексей
    Мой Prius NHW11

  5. #5
    Гуру Аватар для Parador
    Регистрация
    23.12.2007
    Возраст
    62
    Сообщений
    828
    Вес репутации
    600

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от ashu
    Отвечу сюда - вдруг еще кому будет интересно
    ...Спасибо, конечно...

    Но, блин, нихренанепонял. Ну старый я уже... И не программист. Что такое IS, что такое бинарник, куда в "автозапуск"? Что делать с AutoHotKey после исталяции? Какие команды и где прописывать для модема? и т.д. ....

    ЗЫ. Конечно, буду пробовать разобраться!
    Последний раз редактировалось Parador; 01.12.2008 в 15:13.
    Продаю домик у моря.
    Все в мире го*но, кроме мочи.

  6. #6
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от Parador
    ...Спасибо, конечно...

    Но, блин, нихренанепонял. Ну старый я уже... И не программист. Что такое IS, что такое бинарник, куда в "автозапуск"? Что делать с AutoHotKey после исталяции? Какие команды и где прописывать для модема? и т.д. ....

    ЗЫ. Конечно, буду пробовать разобраться!
    IS - Infill Station (ну, сорри, так сократил, думал, что поймёшь )
    "Автозапуск", - например, виндовая папка, откуда запускаются проги при старте компа "Пуск -> Программы -> Автозапуск" (кажись так, пишу по памяти, виндов на работе нет).
    AutoHotKey установил? Всё, больше ничего с ним делать не надо. Он сам по расширению будет обрабатывать свои скрипты с расширением ahk.
    Для модема напиши некий батник, например, такой:

    reincarnate.cmd:
    Код:
    <путь куда у тебя установлен USB Safely Remove>\usr.exe stop -n "твой usb-модем"
    <путь куда у тебя установлен USB Safely Remove>\usr.exe return -n "твой usb-модем"
    Название модема со стороны usb можешь посмотреть командой
    Код:
    <путь куда у тебя установлен USB Safely Remove>\usr.exe list
    С уважением, Алексей
    Мой Prius NHW11

  7. #7
    Гуру Аватар для Parador
    Регистрация
    23.12.2007
    Возраст
    62
    Сообщений
    828
    Вес репутации
    600

    По умолчанию Re: Примеры ahk-скриптов

    Спасибо, более менее понятно. А сам скрипт, он как должен быть сохранен? В TXT?
    Продаю домик у моря.
    Все в мире го*но, кроме мочи.

  8. #8
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от Parador
    Спасибо, более менее понятно. А сам скрипт, он как должен быть сохранен? В TXT?
    Как просто текст в файл с расширением ahk (например, cityguide-is.ahk).
    С уважением, Алексей
    Мой Prius NHW11

  9. #9
    Гуру Аватар для Parador
    Регистрация
    23.12.2007
    Возраст
    62
    Сообщений
    828
    Вес репутации
    600

    По умолчанию Re: Примеры ahk-скриптов

    Вот так? Запихиваю его в АВТОЗАГРУЗКУ, открываю СГ и... ничего не происходит.
    Изображения Изображения  
    Последний раз редактировалось Parador; 01.12.2008 в 18:58.
    Продаю домик у моря.
    Все в мире го*но, кроме мочи.

  10. #10
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    576

    По умолчанию Re: Примеры ahk-скриптов

    Цитата Сообщение от Parador
    Вот так? Запихиваю его в АВТОЗАГРУЗКУ, открываю СГ и... ничего не происходит.
    Перегрузи комп и проверь, что после перезагрузки в памяти появился процесс AutoHotKey.exe. Если его нет, ты положил скрипт куда-то не туда.
    С уважением, Алексей
    Мой Prius NHW11

Страница 3 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •