Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   эмуляция нажатия клавиш (http://forum.oszone.net/showthread.php?t=241812)

skaaater 01-09-2012 20:41 1981273

эмуляция нажатия клавиш
 
Добрый день. Такая проблема, хочу написать программу, чтобы при попадании в центр экрана определенного цвета, автоматический нажимались клавиши :
Цитата:

1.Правая кнопка мыши
Задержка 20 мсек
2.Левая кнопка мыши
Задержка 20 мсек
3.Цифра "3" (верхняя цифр. клавиатура)
Задержка 20 мсек
4.Цифра "1" (верхняя цифр. клавиатура)
Уже запутался в этих клавишах, не подскажете как написать (доработать) код?

Вот сам код (Красным помечено куда нужно вставить)

Код:

#Region  #AutoIt3Wrapper_Version=Beta
 #AutoIt3Wrapper_Icon=icon.ico 
#AutoIt3Wrapper_Outfile=zzz.exe 
#AutoIt3Wrapper_Compression=4 
#AutoIt3Wrapper_Compile_Both=y 
#AutoIt3Wrapper_UseX64=y 
#AutoIt3Wrapper_Res_Comment=papkamod 
#AutoIt3Wrapper_Res_Description=papkamod 
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0 
#AutoIt3Wrapper_Res_Language=1049 
#AutoIt3Wrapper_Res_requestedExecutionLevel=highestAvailable 
#EndRegion 
#Include <Resources.au3> 
#Include <HotKey.au3> 
If WinExists(@ScriptName) Then Exit 
AutoItWinSetTitle(@ScriptName)   


Opt("MouseCoordMode", 0) 
Opt("TrayIconHide", 1) 
Opt("PixelCoordMode", 2) 
Opt("MouseClickDelay", 1) 
Opt("MouseClickDownDelay", 100)   

Global $Cscript = 1 
Global $PAUSARASBROSA = 10 
Global Const $VK_OEM_PLUS = 0xBB 
Global Const $VK_OEM_MINUS = 0xBD   

MsgBox(48, "Hello",10)   

_HotKeyAssign($VK_HOME, 'TogglePause') 
_HotKeyAssign($VK_END, 'Terminate')   

_HotKeyAssign($VK_OEM_PLUS, 'Zna4eniePLUS') 
_HotKeyAssign($VK_OEM_MINUS, 'Zna4enieMINUS')     
While 1   
While $Cscript = 1   
; координаты поиска и цвета 
$left='492' 
$top='429' 
$right='533' 
$bottom='434' 
$color='15878679';Цвет пиксела     

$pos = PixelSearch ( $left, $top, $right, $bottom, $color) 
If Not @error Then ; если цвет найден выполняем условие     

; Вот здесь нужно чтобы выполнилось нажатие клавиш                     

EndIf 
If $Cscript <> 1 Then 
ToolTip("ПАУЗА", 0, 0) 
Beep(500,100) 
ToolTip("") 
EndIf 
WEnd   

While $Cscript = 0   
sleep(1000) 
If $Cscript <> 0 Then 
ToolTip("ЗАПУСК", 0, 0) 
Beep(500,100) 
ToolTip("") 
EndIf 
WEnd 
WEnd     

Func Zna4eniePLUS() 
$PAUSARASBROSA = $PAUSARASBROSA + "5" 
ToolTip("Задержка - "&$PAUSARASBROSA, 0, 0) 
sleep(300) 
ToolTip("")   

EndFunc    Func Zna4enieMINUS() 
$PAUSARASBROSA = $PAUSARASBROSA - "5" 
ToolTip(" + "&$PAUSARASBROSA, 0, 0) 
sleep(300) 
ToolTip("") 
EndFunc       

Func TogglePause() 
$Cscript = NOT $Cscript 
EndFunc   

Func Terminate() 
ToolTip("Autoshot -  ВЫКЛЮЧЕНИЕ", 0, 0) 
Beep(500,500)     
Exit 0 
EndFunc



Время: 01:01.

Время: 01:01.
© OSzone.net 2001-