Написах простичка програмка за управление на Windows с мишката. Писана е на AutoIt. Може да се напасне лесно за всякакви команди, като съм оставил възможност за редакция на един ini-файл, който контролира цялата хава.
В момента са добавени 8 базови функции, които се изпълняват от десния бутон на мишката.
Кратко видео с функционалността може да се види тук:
[flv:https://blog.nediko.info/examples/AutoIt/windows_gestures/Windows_Gestures.flv examples/AutoIt/windows_gestures/win_gestures.png 480 397]
Целия сорс код на програмата:
#include <Misc.au3> AutoItSetOption("WinTitleMatchMode", 4) $dll = DllOpen("user32.dll") $ini = "functions.ini" $func1 = IniRead($ini,"HotKey","Function1",@WindowsDir&"\system32\calc.exe") $func2 = IniRead($ini,"HotKey","Function2",@WindowsDir&"\system32\calc.exe") $func3 = IniRead($ini,"HotKey","Function3",@WindowsDir&"\system32\calc.exe") $func4 = IniRead($ini,"HotKey","Function4",@WindowsDir&"\system32\calc.exe") $func5 = IniRead($ini,"Gestures","Function5",@WindowsDir&"\system32\calc.exe") $func6 = IniRead($ini,"Gestures","Function6",@WindowsDir&"\system32\calc.exe") $func7 = IniRead($ini,"Gestures","Function7",@WindowsDir&"\system32\calc.exe") $func8 = IniRead($ini,"Gestures","Function8",@WindowsDir&"\system32\calc.exe") $funcl1 = IniRead($ini,"Label","Function1",@WindowsDir&"\system32\calc.exe") $funcl2 = IniRead($ini,"Label","Function2",@WindowsDir&"\system32\calc.exe") $funcl3 = IniRead($ini,"Label","Function3",@WindowsDir&"\system32\calc.exe") $funcl4 = IniRead($ini,"Label","Function4",@WindowsDir&"\system32\calc.exe") $funcl5 = IniRead($ini,"Label","Function5",@WindowsDir&"\system32\calc.exe") $funcl6 = IniRead($ini,"Label","Function6",@WindowsDir&"\system32\calc.exe") $funcl7 = IniRead($ini,"Label","Function7",@WindowsDir&"\system32\calc.exe") $funcl8 = IniRead($ini,"Label","Function8",@WindowsDir&"\system32\calc.exe") While 1 Sleep ( 500 ) ToolTip("") If _IsPressed("04", $dll) Then ; Moje da se smeni s drug buton na mishkata $ori = MouseGetPos() SplashImageOn("","gdot.bmp","30","30",$ori[0]-15,$ori[1]-15,1) Do Sleep(100) $cur = MouseGetPos() If $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] > 100 Then ToolTip($funcl1) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] > 100 Then ToolTip($funcl2) ElseIf $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] < -100 Then ToolTip($funcl3) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] < -100 Then ToolTip($funcl4) ElseIf $ori[0] - $cur[0] > 50 Then ToolTip($funcl5) ElseIf $ori[0] - $cur[0] < -50 Then ToolTip($funcl6) ElseIf $ori[1] - $cur[1] > 50 Then ToolTip($funcl7) ElseIf $ori[1] - $cur[1] < -50 Then ToolTip($funcl8) Else ToolTip("") EndIf Until Not(_IsPressed("04", $dll));Moje da se smeni s drug buton na mishkata $cur = MouseGetPos() If WinActive("classname=ExploreWClass") Or WinActive("classname=CabinetWClass") Then If $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] > 100 Then ; Nagore i naliavo - Back Send($func1) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] > 100 Then ; Nagore i nadiasno - Forward Send($func2) ElseIf $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] < -100 Then ; Nadolu i nalqwo - Minimize Send($func3) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] < -100 Then ; Nadolu i nadiasno - Close Send($func4) ElseIf $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu ShellExecute($func5) ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:\ ShellExecute($func6) ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator ShellExecute($func7) ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad RShellExecute($func8) EndIf Else If $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu Run($func5) ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:\ Run($func6) ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator Run($func7) ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad Run($func8) Else SplashTextOn("Gestures","No action","250","20","-1","-1",2,"","","") Sleep(500) SplashOff() EndIf EndIf SplashOff() EndIf WEnd DllClose($dll) |
За да се промени функционалността на жестикулациите, трябва да се редактира секцията “Gestures” във файла functions.ini:
[HotKey] Function1 = !{LEFT} Function2 = !{RIGHT} Function3 = !{SPACE}N Function4 = !{F4} [Gestures] Function5 = explorer.exe C:\ Function6 = explorer.exe D:\ Function7 = calc.exe Function8 = Notepad.exe [Label] Function1 = Back Function2 = Forward Function3 = Minimize Function4 = Close Explorer Function5 = Disk C Function6 = Disk D Function7 = Calculator Function8 = Notepad |
Секцията “Hot Key” също може да се редактира. Информация за командите в AutoIt тук:
Затварянето или временната пауза на програмата става от тук: HotKey-help.html
Изтегляне за 32bit Windows: Windows AutoIt Gestures – 32bit
Изтегляне за 64bit Windows: Windows AutoIt Gestures – 64bit