Страница 11 из 13 ПерваяПервая ... 5678910111213 ПоследняяПоследняя
Показано с 101 по 110 из 126
  1. #101
    Гуру Аватар для ashu
    Регистрация
    29.01.2008
    Возраст
    51
    Сообщений
    1,161
    Вес репутации
    574
    С уважением, Алексей
    Мой Prius NHW11

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

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

    Если кому мешает указатель мышки на экране, но совсем отказываться от мышки невозможно (ну, всё-таки эта стрелочка иногда нужна при работе), рекомендую только что состряпанный мной скриптец.

    Что он делает:

    1. Если в течение 10 секунд движения мышки не было, указатель с экрана прячется (заменяется пустышкой).
    2. Если в течение 1 секунды мышка непрерывно меняет свои координаты, то указатель снова показывается на экране.

    Таким образом, в нормальных условиях мышка не видна, но если вдруг потребуется её отобразить, то достаточно в течение 1 секунды двигать указателем по экрану.

    Код:
    #NoTrayIcon		; не отображать значок скрипта в трее
    #SingleInstance force	; перезагрузить скрипт, если он уже запущен
    DetectHiddenWindows, On	; искать в скрытых окнах
    #NoEnv			; запрещаем имена переменных как у переменных окружения
    SendMode Input		; ускорренный ввод
    #Persistent		; держать скрипт запущенным
    SetTitleMatchMode 2	; 2 - заголовок окна должен содержать значение, заданное в параметре
    
    
    counter := 0
    mouseshow := 1
    CoordMode, Mouse, Screen
    SetTimer, WatchCursor, 100
    OnExit, ShowCursor
    return
    
    ShowCursor:
    SystemCursor("On")
    ExitApp
    
    
    WatchCursor:
      MouseGetPos, x, y
    ;MsgBox, mouseshow = %mouseshow%, counter = %counter%
      if(mouseshow == 0)
      {
        if (x = x_old) && (y = y_old)
             counter := 0
        else counter++
        if (counter > 10)
        {
             Gosub, MyFunc1
             counter := 0
        }
      } else {
        if (x = x_old) && (y = y_old)
             counter++
        else counter := 0
        if (counter > 100)
        {
             Gosub, MyFunc0
             counter := 0
        }
      }
      x_old := x, y_old := y
    return
    
    MyFunc0:
        SystemCursor("Off")
        mouseshow := 0
    ;MsgBox, Mouse is Off (%mouseshow%)
        return
    MyFunc1:
        SystemCursor("On")
        mouseshow := 1
    ;MsgBox, Mouse is On (%mouseshow%)
        return
    
    SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
    {
    static AndMask, XorMask, $, h_cursor
    ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13
    , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13
    , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13
    if (OnOff = "Init" or OnOff = "I" or $ = "")
    {
    $ = h ; active default cursors
    VarSetCapacity( h_cursor,4444, 1 )
    VarSetCapacity( AndMask, 32*4, 0xFF )
    VarSetCapacity( XorMask, 32*4, 0 )
    system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
    StringSplit c, system_cursors, `,
    Loop %c0%
    {
    h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
    h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
    b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
    , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
    }
    }
    if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
    $ = b
    else
    $ = h
    
    Loop %c0%
    {
    h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
    DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
    }
    }
    
    ~WheelDown::
    ~WheelUp::
    ~RButton::
    ~LButton::
        counter := 0
        return
    С уважением, Алексей
    Мой Prius NHW11

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

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

    Погонял на автокомпе последний скриптец... И пришёл к выводу, что задержка в 1 секунду маловата. Поставил 3 секунды.
    Правится это в строчке

    if (counter > 10)

    10 - это 1 секунда. Соответственно, для 3х секунд строка выглядит так:

    if (counter > 30)
    С уважением, Алексей
    Мой Prius NHW11

  4. #104
    Местный
    Регистрация
    17.10.2008
    Сообщений
    151
    Вес репутации
    221

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

    Цитата Сообщение от ashu Посмотреть сообщение
    Погонял на автокомпе последний скриптец... И пришёл к выводу, что задержка в 1 секунду маловата. Поставил 3 секунды.
    Правится это в строчке

    if (counter > 10)

    10 - это 1 секунда. Соответственно, для 3х секунд строка выглядит так:

    if (counter > 30)
    Спасибо , Ваш скрипт гораздо лучше для CF чем Cursor Hider

    P s а вот как отследить состояние питания ноутбука с помощью autohotkey !?

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

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

    Цитата Сообщение от sandos Посмотреть сообщение
    Спасибо , Ваш скрипт гораздо лучше для CF чем Cursor Hider
    Да, пожалуйста. Рад, что это нужно не только мне

    Цитата Сообщение от sandos Посмотреть сообщение
    а вот как отследить состояние питания ноутбука с помощью autohotkey !?
    А вот это не знаю - у меня в машинке не бук, поэтому подобной задачей не интересовался... Найдёшь решение - изложи и тут
    С уважением, Алексей
    Мой Prius NHW11

  6. #106
    Продвинутый
    Регистрация
    01.09.2008
    Сообщений
    330
    Вес репутации
    258

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

    Может кому полезно будет скрипт для пежошного307 джойстика подключенного к геймпаду.
    PHP код:
    #NoTrayIcon    
    JoystickNumber 1




    ЭНКОДЕР(ДВИЖЕНИЯ ВВЕРХ И ВНИЗ


    ev=UU
    state 
    =UU


    Loop
    {

    getkeystate j5joy5
    getkeystate j7
    joy7 

    ev
    =%j5%%j7%



    if 
    state=UU
    {
      if 
    ev=DU
      
    {
        
    Send {Up}
        
    state=%ev
      }
      else if 
    ev=UD
      
    {
        
    Send {Down}
        
    state=%ev
      }
    }

    else if 
    state=DU
    {
      if 
    ev=UU
        
    {
          
    state=%ev%   
        }
    }

    else if 
    state=UD
    {
      if 
    ev=UU
        
    {
         
    state=%ev%   
        }
    }  

    sleep 5
    }
    return






    ;
    РЕГУЛИРОВКА ГРОМКОСТИ И MUTE(ПО ОДНОВРЕМЕННОМУ УДЕЖИВАНИЮ КНОПОК)

    Joy1::
    KeyWait, %A_ThisHotkey%, U T 0.2
    If ErrorLevel если отжата
      
    {
       
    Soundset+
      
    }
    else
    {
      
    KeyWaitJoy2D T.2
      
    if ErrorLevel=0
      
    {
        
    sleep 800
        getkeystate j1
    joy1
        getkeystate j2
    joy2
        
    if (j1="D" and j2="D")
        {
          
    Soundset,+1,,mute
        
    }
      }
      else
      {
        
    Loop 
        
    {
          
    Soundset+1
          sleep 12
          getkeystate j1
    joy1
            
    if j1=U
              
    {
                return
              }
        }
      }
    }
    Return

    Joy2::
    KeyWait, %A_ThisHotkey%, U T 0.2
    If ErrorLevel если отжата
      
    {
       
    Soundset-8
      
    }
    else
    {
      
    KeyWaitJoy1D T.2
      
    if ErrorLevel=0
      
    {
        
    sleep 800
        getkeystate j1
    joy1
        getkeystate j2
    joy2
        
    if (j1="D" and j2="D")
        {
          
    Soundset,+1,,mute
        
    }
      }
      else
      {
        
    Loop 
        
    {
          
    Soundset-1
          sleep 12
          getkeystate j2
    joy2
            
    if j2=U
              
    {
                return
              }
        }
      }
    }
    Return







    ;
    ПРЕДЫДУЩИЙ ТРЕК

    Joy3
    ::
    {
      If 
    WinNotActivecentrafuse,  WinActivatecentrafuse
    WinWaitActivecentrafuse
    MouseClickleft,  265,  541
    }
    return



    ;
    СЛЕДУЮЩИЙ ТРЕК

    Joy6
    ::
    {
      If 
    WinNotActivecentrafuse,  WinActivatecentrafuse
    WinWaitActivecentrafuse
    MouseClickleft,  512,  541
    }
    return




    ;
    ЭНТЕР(по дабл-кликуИ ТАБ(по клику)
    Joy8::
    KeyWait, %A_ThisHotkey%, U T.1 
    If ErrorLevel если отжата
      
    {
        
    KeyWait, %A_ThisHotkey%, D T.5 
        
    if errorLevel=0
        
    {
          
    Send {Enter}
          ;
    Msgbox действие от двойного клика
        
    }
        
      }
    else
    {
      
    send {Tab}
      ;
    MSGBOX одинарный клик
    }
    Return 
    Последний раз редактировалось DNyo; 30.09.2009 в 02:23.

  7. #107
    Местный
    Регистрация
    17.10.2008
    Сообщений
    151
    Вес репутации
    221

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

    Цитата Сообщение от ashu Посмотреть сообщение
    Да, пожалуйста. Рад, что это нужно не только мне

    А вот это не знаю - у меня в машинке не бук, поэтому подобной задачей не интересовался... Найдёшь решение - изложи и тут
    излагаю
    Скрипт Battery ( контроль питания ноута : Сеть или батарея , если батарея - запуск скрипта shudowntimer

    #NoTrayIcon ; не отображать значок скрипта в трее
    #SingleInstance force ; перезагрузить скрипт, если он уже запущен
    #NoEnv ; запрещаем имена переменных как у переменных окружения
    SendMode Input ; ускорренный ввод
    #Persistent ; держать скрипт запущенным
    SetTitleMatchMode 2 ; 2 - заголовок окна должен содержать значение, заданное в WinTitle
    DetectHiddenWindows, On
    SetTimer, GetPowerSource, 5000
    return ; End of main program

    GetPowerSource:
    VarSetCapacity(powerStatus, 1+1+1+1+4+4)
    success := DllCall("GetSystemPowerStatus", "UInt", &powerStatus)
    acLineStatus:=ReadInteger(&powerstatus,0,1,false)
    batteryFlag:=ReadInteger(&powerstatus,1,1,false)
    batteryLifeTime:=ReadInteger(&powerstatus,4,4,fals e)
    batteryFullLifeTime:=ReadInteger(&powerstatus,8,4, false)
    output=AC Status: %acLineStatus%`nBattery Flag: %batteryFlag%`nBattery Life (percent): %batteryLifePercent%`nBattery Life (time): %batteryLifeTime%`nBattery Life (full time): %batteryFullLifeTime%
    If %acLineStatus% = 0
    {
    sleep 50000
    VarSetCapacity(powerStatus, 1+1+1+1+4+4)
    success := DllCall("GetSystemPowerStatus", "UInt", &powerStatus)
    acLineStatus:=ReadInteger(&powerstatus,0,1,false)
    If %acLineStatus% = 0
    {
    Run, C:\POWER\Shutdowntimer.ahk
    ExitApp
    }
    else
    Return
    }
    else
    Return

    ReadInteger( p_address, p_offset, p_size, p_hex=true )
    {
    value = 0
    old_FormatInteger := a_FormatInteger
    if ( p_hex )
    SetFormat, integer, hex
    else
    SetFormat, integer, dec
    loop, %p_size%
    value := value+( *( ( p_address+p_offset )+( a_Index-1 ) ) << ( 8* ( a_Index-1 ) ) )
    SetFormat, integer, %old_FormatInteger%
    return, value
    }


    Скрипт shutdowntimer ( продвинутая выключалка ноут )

    /* Shutdown Timer v1.1
    by Dr. Shajul

    Shutdown after a specified interval!
    Command line parameters are also accepted, in minutes..
    eg Shutdown_timer.exe 10 5
    .. will force shutdown (code 5) in 10 minutes
    */


    ;;********** Settings, Variable Declarations **********
    #SingleInstance Force
    #NoEnv
    OnExit, quit

    programName = Shutdown Timer
    programVersion = 1.2
    programFullName = %programName% v%programVersion%
    programAuthor = Shajul


    ;;********** Auto-Execute Section **********
    GoSub, trayMenu ; construct tray menu : OPTIONAL
    scode=5
    if 0>0
    {
    tvar = %1%
    scode = %2%
    if not scode
    scode=5
    }
    else
    {
    ; InputBox, tvar, Shutdown computer in.. (minutes),Format`:`"<Time in minutes> <[shutdown code]>`"`nEg. `"10 5`",,400,150,,,,60,10 5
    tvar := 10
    ; if cancel was pressed, return
    if errorlevel=1
    ExitApp
    IfInString, tvar, %A_Space%
    {
    StringSplit,tvar,tvar,%A_Space%
    tvar:=tvar1
    scode:=tvar2
    }
    }

    if tvar is number
    {
    shuttime := tvar
    Settimer,Shuttime,60000
    Gui, +AlwaysOnTop -Disabled -SysMenu +Owner -Caption -ToolWindow ; stay on top to prevent access whilst in pre shutdown mode.
    Gui, Font, s24 cFFFFFF
    my_x := (A_ScreenWidth/2)-100
    my_y := (A_ScreenHeight/2)-100
    Gui, Add, Button, x%my_x% y%my_y% h60 w200 gQuit Section, Cancel
    Gui, Add, Button, xs-250 y%my_y% h60 w200 gHibernate, Hibernate
    Gui, Add, Button, xs+250 y%my_y% h60 w200 gShutdown, Shutdown
    my2_y := my_y + 90
    Gui, Add, Button, x%my_x% y%my2_y% h60 w200 gLogOff, Logoff
    Gui, Add, Button, xs-250 y%my2_y% h60 w200 gSuspend, Suspend
    Gui, Add, Button, xs+250 y%my2_y% h60 w200 gRestart, Reboot
    my3_y := my_y + 180
    Gui, Add, Checkbox, x%my_x% y%my3_y% h60 w200 vforce center, Force?
    Gui, Font, s40 cFFFFFF
    my4_y := my_y - 100
    Gui, Add, Text, xs-200 y%my4_y% w600 vMyText, %A_Space%Shutdown in %Shuttime% minutes!
    Gui, Color, 000000
    Gui, Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%, ScreenMask
    WinSet, Transparent, 200, ScreenMask
    Gosub, Shuttime
    }
    else
    MsgBox, 48, Invalid Data, Please enter a valid 3-digit number!,
    return



    ;;********** Subroutines **********
    Shuttime:
    shuttime--
    GuiControl,, MyText, %A_Space%Shutdown in %shuttime% minutes!
    if shuttime <= 0
    {
    Shutdown,%scode%
    Settimer,Shuttime,off
    }
    Return

    Shutdown:
    Gui, Submit, NoHide
    if force
    Shutdown,5
    else
    Shutdown,0
    ; Run, powerOFF.exe
    return

    Hibernate:
    Gui, Submit, NoHide
    if force
    DllCall("PowrProf\SetSuspendState", "int", 1, "int", 1, "int", 0)
    else
    DllCall("PowrProf\SetSuspendState", "int", 1, "int", 0, "int", 0)
    Return

    Suspend:
    Gui, Submit, NoHide
    if force
    DllCall("PowrProf\SetSuspendState", "int", 0, "int", 1, "int", 0)
    else
    DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
    Return

    Restart:
    Gui, Submit, NoHide
    if force
    Shutdown,6
    else
    Shutdown,2
    return

    Logoff:
    Gui, Submit, NoHide
    if force
    Shutdown,4
    else
    Shutdown,0
    return

    trayMenu:
    Menu, Tray, Tip, %programFullName%
    Menu, Tray, NoStandard
    Menu, Tray, Add, &About, about
    Menu, Tray, Add
    Menu, Tray, Add, &Quit, quit
    Return

    about:
    MsgBox, 64, %programFullName%,
    ( LTrim
    %programFullName%
    %A_Space%by %programAuthor%

    Shutdown after a specified interval!
    )
    Return

    Quit:
    ExitApp
    Return

    P s ... оп а я то же 15 лет не пристёгиваюсь за рулём ... наверно оч плохо эт
    Последний раз редактировалось sandos; 02.01.2010 в 03:26.

  8. #108
    Пользователь
    Регистрация
    28.01.2010
    Возраст
    45
    Сообщений
    32
    Вес репутации
    181

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

    Объясните ламеру как эти скрипты запускать? Нужна какая-то программа? В частности интересует скрипт для указателя мыши.
    З.Ы. Скрипт для мыши будет работать в виндовс 7?

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

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

    Цитата Сообщение от ДмитрийУмань Посмотреть сообщение
    Объясните ламеру как эти скрипты запускать? Нужна какая-то программа? В частности интересует скрипт для указателя мыши.
    З.Ы. Скрипт для мыши будет работать в виндовс 7?
    Нужен интерпретатор, установленный в системе. На работу в Win7 не пробовал.
    С уважением, Алексей
    Мой Prius NHW11

  10. #110
    Пользователь Аватар для Step74
    Регистрация
    12.02.2009
    Сообщений
    97
    Вес репутации
    227

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

    Цитата Сообщение от ashu Посмотреть сообщение
    Нужен интерпретатор, установленный в системе. На работу в Win7 не пробовал.
    не обязательно можно пользоваться скомпилированным в *.exe файл скриптом
    Вложения Вложения
    Последний раз редактировалось Step74; 29.01.2010 в 22:34.

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

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

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

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

Ваши права

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