Показано с 1 по 10 из 126

Древовидный режим

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

    По умолчанию 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 (пользователей: 0 , гостей: 2)

Ваши права

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