Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Помогите со скриптом для окна InputBox и нажатиями мышкой(см.внутри)

Ответить
Настройки темы
[решено] Помогите со скриптом для окна InputBox и нажатиями мышкой(см.внутри)

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Вот что мне нужно... Если в окне "InputBox" ввести цифру 1 то мышка должна щёлкнуть допустим в координату 300,400 , если ввести цифру 2 то в координату 300,500... НО после ввода значения в первом "InputBox" мышка не сразу идёт в назначеное положение, а открывается второе "InputBox", в котором если введёшь цифру 1 то мышь щёлкнет так же в 300,400 или в 300, 500 (смотря что ввёл в первом "InputBox"), а если введёшь 2 то координаты мышки по оси Y сместится вниз на 10 пикселей (то есть если в первом окне введёшь 1, а в втором окне 2 то мышь щёлкнет в 300,420) Поможете???

Отправлено: 11:52, 23-02-2009

 

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Если тебе общий смысл, то вот:
Код: Выделить весь код
#include <GuiConstants.au3> 
#include <WindowsConstants.au3> 
#include <EditConstants.au3> 

Global $x, $y
$hGUI  = GUICreate("проба", 189, 62, 193, 182)
$Input_1 = GUICtrlCreateInput("", 0, 24, 89, 32)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetLimit($Input_1,1) 
$Input_2 = GUICtrlCreateInput("", 93, 22, 89, 32)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetLimit($Input_2, 1) 
$Label1 = GUICtrlCreateLabel("инпут 1", 8, 0, 60, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("инпут 2", 100, 0, 60, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)


GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") 
While 1 
Switch GUIGetMsg() 
Case $GUI_EVENT_CLOSE
ExitLoop 
EndSwitch 
Sleep(10)
WEnd 

Func WM_COMMAND($hWnd, $nMsg, $wParam, $lParam) 
Local $nNotifyCode = BitShift($wParam, 16) 
Local $nID = BitAND($wParam, 0xFFFF) 

Switch $nID 
Case $Input_1
Switch $nNotifyCode 
Case $EN_UPDATE 
Local $sRead_Input = GUICtrlRead($nID) 
If $sRead_Input= 1 Then
    ControlFocus ( "проба", "", $Input_2 )
$x="300"
$y="400"
Else
If $sRead_Input=2 Then
    ControlFocus ( "проба", "", $Input_2 )
$x="300"
$y="500"
EndIf 
EndIf 
EndSwitch 

Case $Input_2
Switch $nNotifyCode 
Case $EN_UPDATE 
Local $sRead_Input = GUICtrlRead($nID) 
If $sRead_Input= 1 Then
MouseClick ( "left" , $x, $y)
Else
If $sRead_Input=2 Then
    MouseClick ( "left" , $x, $y+20)
EndIf 
EndIf 
EndSwitch 
EndSwitch 
EndFunc
P.S. Пропустил, что тебе нужен не обычный инпут а InputBox. Но в случае с InputBox дела даже очень полегче...
Код: Выделить весь код
Local $x,$y

$msg=InputBox("инпутбокс", "Введите сообщение.", "")
Switch $msg
Case 1
$x="300"
$y="400"
Case 2
$x="300"
$y="500"
Case else
MsgBox(0,"","не один и ни два")
Exit
EndSwitch

$msg2=InputBox("инпутбокс", "Введите сообщение.", "")
Switch $msg2
Case 1
MouseClick ( "left" , $x, $y)
Case 2
MouseClick ( "left" , $x, $y+20)
Case else
MsgBox(0,"","не один и ни два")
EndSwitch
В коде я использовал Case чтоб ты мог добавить еще альтернативы выбора, если же тебе альтернативы не нужны (например 3, 4, 5) то можна использовать конечно и if.

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Последний раз редактировалось beve, 23-02-2009 в 17:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:11, 23-02-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Спасибо тебе огромное!!! Хотя я ещё не понял что ты тут мне написал, но обязательно разберусь...))) Спасибо за помощь... ХОРОШИЙ У ВАС ТУТ ФОРУМ. Всем Нубам поможете)))))

Да всё изучил... Второй вариант как раз мне и нужен.... Спс ещё и за то что сделали поправку если не введу 1 или 2 )))))

-------
Ну вы ребята даёте...


Отправлено: 20:12, 23-02-2009 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Помогите со скриптом для окна InputBox и нажатиями мышкой(см.внутри)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Помогите со скриптом для расшаривания Castor Скриптовые языки администрирования Windows 7 16-10-2014 12:56
CMD/BAT - [решено] Помогите со скриптом Bullet-Avalon Скриптовые языки администрирования Windows 5 04-08-2009 11:45
[решено] Не получается закрытие окна InputBox и прерывание работы скрипта sashadeg AutoIt 2 24-02-2009 16:13
[решено] Помогите со скриптом shoot Microsoft Windows 2000/XP 4 06-09-2006 11:43
Помогите со скриптом для поиска файла. vlazari Microsoft Windows 2000/XP 2 27-06-2006 14:39




 
Переход