Что нового

[Автоматизация] [Мышь, клавиатура] доработка скрипта,для работы в неактивном окне

secret_agent

Новичок
Сообщения
9
Репутация
1
помогите сделать так,что бы данный скрипт работал с неактивным окном:
Код:
MsgBox(0,"Double","F9-start"&@CRLF&"F11-stop")
HotKeySet('{F9}', 'Click')
HotKeySet('{F11}', 'Stop')

Global $var = 0

While 1
    Sleep(0001)
WEnd

Func Click()
    $var = 0
    While $var = 0
	   Send ("{F1}")
	   Sleep(0001)
	   MouseClick('LEFT')
       Sleep(0001)
    WEnd
 EndFunc
 
Func Stop()
    $var = 1
EndFunc
 

Arei

Скриптер
Сообщения
938
Репутация
115
Re: [Мышь, клавиатура] скрипт+неактивное окно

OffTopic:
Оформите тему, для кода существует тег
Код:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 secret_agent, у тебя просто мало инфы - чтобы кто-то мог тебе оказать помощь в этом:

1. Через "AutoIt Window Info" узнаешь в какое окно надо отправлять ****
2. Почитай справку о
Код:
ControlSend & ControlClick
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 secret_agent
Если написать, в какой программе ты хотел бы автоматизировать нажатия - то было бы значительно легче помогать.
А по созданному топику... можно только дать советы - что и где почитать.

Еще раз повторюсь
Код:
ControlSend & ControlClick

Они как раз и отправляют "****" в неактивные окна...

Вместо
Код:
Send

используй
Код:
ControlSend



Вместо
Код:
MouseClick

используй
Код:
ControlClick
 
Автор
S

secret_agent

Новичок
Сообщения
9
Репутация
1
Игра-Ragnarok


Добавлено:
Сообщение автоматически объединено:

http://autoit-script.ru/autoit_rv_ua/files/Automation/screenRoRealm006.jpg
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Тут почитать можно: http://autoit-script.ru/index.php/topic,1615.0.html

Т.е. чтобы отправить в свернутое окно твоей игры тебе надо вместо
Код:
Send ("{F1}")

Написать что-то в виде:
Код:
ControlSend ("Ragnarok", "", "{F1}" )


OffTopic:
вместо "Ragnarok" возможно будет другое название. Узнать его можно с помощью "AutoIt Window Info"


PS: жди может придут еще на помощь у кого есть Ragnarok
 
Автор
S

secret_agent

Новичок
Сообщения
9
Репутация
1
слушай,вот клик делает
Код:
MsgBox(0,"ололо","F9-НАЧИНАЕТ КЛИКАТЬ"&@CRLF&"F11-ОСТАНАВЛИВАЕТ")
HotKeySet('{F9}', 'Click')
HotKeySet('{F11}', 'Stop')
$aWinList = WinList('RoRealm Insane')
$pid = WinGetProcess("RoRealm Insane")
For $i = 1 To $aWinList[0][0] Step +1
    If WinGetProcess($aWinList[$i][1]) = $Pid Then
        ControlSend($aWinList[$i][1], '', '', '{F1}')
        Sleep(100)
		  EndIf  
Next

помоги с HotKeySet('{F9}', 'Click')-он кликает сразу,а не по команде,и с ControlClick(). что изменить что бы цикл не закрывался а повторялся снова и снова?
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Код:
HotKeySet('{F9}', 'Click')
HotKeySet('{F11}', 'Stop')

Global $var = 0
Global $pid = WinGetProcess("RoRealm Insane")

While 1
    Sleep(100)
WEnd

Func Click()
    $var = 0
    While $var = 0
       ControlSend($pid, '', '', '{F1}')
       Sleep(100)
;~ 	   ЗДЕСЬ еще клик мышки надо добавить и т.п.
;~ 	   ДАВАЙ-ДАВАЙ: "думай голова шапку куплю" =)
    WEnd
 EndFunc
 
Func Stop()
    $var = 1
EndFunc
 
Автор
S

secret_agent

Новичок
Сообщения
9
Репутация
1
функция кликера F1 перестала работать,скрипт не работает.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Стоп... надо работу менять мне :stars:
Мы же TITLE знаем = "RoRealm Insane"

Надо просто без $PID
Код:
HotKeySet('{F9}', 'Click')
HotKeySet('{F11}', 'Stop')

Global $var = 0

While 1
    Sleep(100)
WEnd

Func Click()
    $var = 0
    While $var = 0
       ControlSend("RoRealm Insane", '', '', '{F1}')
       Sleep(100)
;~     ЗДЕСЬ еще клик мышки надо добавить и т.п.
;~     ДАВАЙ-ДАВАЙ: "думай голова шапку куплю" =)
    WEnd
 EndFunc
 
Func Stop()
    $var = 1
EndFunc


PS: все - я домой пошел))))...я верю в тебя... давай - доламывай...
 
Автор
S

secret_agent

Новичок
Сообщения
9
Репутация
1
да вы красавчик)))) работает,теперь надо бы с ControlClick() разобраться.
нашел на форуме:
Клик мыши в свёрнутом окне - помойму невозможно
Если в активном окне, то другое дело.


Добавлено:
Сообщение автоматически объединено:

проблема в том,что не определяется class . не могу понять как работать с ControlClick. help...


Добавлено:
Сообщение автоматически объединено:

помогите с ControlClick() какую только фигню с ней ни делал,не хочет работать она в моих руках
 

running-frag

why me?
Сообщения
441
Репутация
60
Код:
ControlClick ()

OffTopic:
кликай на функцию читай описание
 
Автор
S

secret_agent

Новичок
Сообщения
9
Репутация
1
я уже начитался всяких описаний,но если в игре не определяется class и что без него делать я не пойму


Добавлено:
Сообщение автоматически объединено:

Код:
>>>> Window <<<<
Title:	RoRealm Insane
Class:	RoRealm Insane
Position:	69, 37
Size:	806, 508
Style:	0x16CA0000
ExStyle:	0x00000100
Handle:	0x001A0A46

>>>> Control <<<<
Class:	
Instance:	
ClassnameNN:	
Name:	
Advanced (Class):	
ID:	
Text:	
Position:	
Size:	
ControlClick Coords:	
Style:	
ExStyle:	
Handle:	

>>>> Mouse <<<<
Position:	218, 216
Cursor ID:	0
Color:	0xF7F7EF

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<


>>>> Hidden Text <<<<
 
D

dreamorder

Гость
Замечание: AutoIt может работать только со стандартными управляющими элементами Microsoft, поэтому некоторые приложения, которые используют собственные управляющие элементы, похожие на стандартные, могут оказаться неуправляемыми из сценария AutoIt. Пробуйте на свой страх и риск!
 
Верх