|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Выполнение последовательности действий нажатий кнопок мышки |
|
Выполнение последовательности действий нажатий кнопок мышки
|
Пользователь Сообщения: 58 |
Профиль | Отправить PM | Цитировать Добрый день! Помогите ктото написать скрипт выполнение определённой операции
Цель 1) нажать кнопку Open 2) нажать кнопку Browse... 3) и в поле имя файла выбрать название файла, например 1 #1.vcf и нажать ENTER 4) нажать кнопку Import 5) нажать OK 6) нажать OK Далее цикл повторяется только уже в третьем пункте нужно чтобы значение менялось с 1 #1.vcf на 1 #2.vcf Последнее допустимое значение 1 #506.vcf Информация полученная через Auto It v3 Windows Info 1) кнопка Open 2) кнопка Browse 3) поле ввода 4) кнопка Import 5) кнопка OK 6) кнопка OK P.S.: напишите пожалуйста этот скрипт, а то начал читать учебник а толку мало. |
|
Отправлено: 19:29, 01-09-2010 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать DREDivan,
Вы ссылку на эту программу дайте. |
Отправлено: 17:16, 04-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 58
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:20, 05-09-2010 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать DREDivan,
Попробуйте так: #include <GuiTreeView.au3> #include <GuiListView.au3> #include <File.au3> Opt("WinTitleMatchMode", 2) Opt("MouseCoordMode", 2) Opt("GUIDataSeparatorChar", "\") $sPathFiles = @DesktopDir & '\999' ;путь к папке с файлами .vcf $sPathProgram = @ProgramFilesDir & '\MOBILedit!4\MOBILedit!.exe';путь к программе ;заголовки окон: $sTitle = 'MOBILedit!4' $sTitleImport = 'Phonebook Import...' $sTitlePreview = 'Phonebook Preview...' $sTitleMapping = 'Phonebook Mapping' $sModel = 'Samsung SGH-D780' $j = 0 Dim $aFileList[1] ;получаем в массив список файлов .vcf и удаляем из него файлы с № больше 506: $aTemp = _FileListToArray($sPathFiles, '*.vcf', 1) For $i = 1 To $aTemp[0] If Number(StringTrimRight(StringTrimLeft($aTemp[$i], StringInStr($aTemp[$i], '#')), 4)) <= 506 Then $j += 1 ReDim $aFileList[$j + 1] $aFileList[$j] = $aTemp[$i] EndIf Next $aFileList[0] = $j ;запускаем программу MOBILedit!.exe: Run($sPathProgram) ;ждем и активируем окно программы $hWindow = WinWait($sTitle, '', 10) If Not $hWindow Then Exit If Not WinActive($hWindow) Then WinActivate($hWindow) WinWaitActive($hWindow) $iTime = TimerInit() While 1 ;ждем, пока программа найдет телефон. Если за 30 сек. не найдет, то заканчиваем работу If TimerDiff($iTime) >= 30000 Then Exit If StringInStr(WinGetText($hWindow), $sModel) Then ExitLoop Sleep(100) WEnd ;кликаем по той строке Phonebook, которая ниже строки с моделью телефона $hTreeView = ControlGetHandle($hWindow, '', '[CLASS:SysTreeView32; INSTANCE:1]') $hSelect = _GUICtrlTreeView_FindItemEx($hTreeView, 'Connected Devices\' & $sModel & '\Phonebook') _GUICtrlTreeView_SelectItem($hTreeView, $hSelect) ; в цикле заполняем тлф книгу For $i = 1 To $aFileList[0] ;по кнопке в XTPToolBar у меня получилось только мышкой кликнуть: $aPosToolBar = ControlGetPos($hWindow, '', '[CLASS:XTPToolBar; INSTANCE:3]') BlockInput(1) MouseClick('left', $aPosToolBar[0] + $aPosToolBar[2] / 14 * 3, $aPosToolBar[1] + $aPosToolBar[3] / 2, 1) BlockInput(0) $hImport = WinWait($sTitleImport, '', 10) If Not $hImport Then Exit If Not WinActive($hImport) Then WinActivate($hImport) WinWaitActive($hImport) ;выбираем расширение *.vcf $hListView = ControlGetHandle($hImport, '', '[CLASS:SysListView32; INSTANCE:1]') _GUICtrlListView_ClickItem($hListView, 0) ;вставляем текст из очередной строки массива ControlSetText($hImport, '', '[CLASS:Edit; INSTANCE:1]', $sPathFiles & '\' & $aFileList[$i]) While 1 ;ждем, пока кнопка станет активной. If ControlCommand($hImport, '', '[CLASS:Button; INSTANCE:1]', 'IsEnabled', '') Then ExitLoop WEnd ;кликаем по ней. BlockInput(1) ControlClick($hImport, '', '[CLASS:Button; INSTANCE:1]') BlockInput(0) ;отсюда и до конца цикла ждем очередное окно и кликаем по кнопке. $hPreview = WinWait($sTitlePreview, '', 10) If Not $hPreview Then Exit If Not WinActive($hPreview) Then WinActivate($hPreview) WinWaitActive($hPreview) BlockInput(1) ControlClick($hPreview, '', '[CLASS:Button; INSTANCE:1]') BlockInput(0) $hMapping = WinWait($sTitleMapping, '', 10) If Not $hMapping Then Exit If Not WinActive($hMapping) Then WinActivate($hMapping) WinWaitActive($hPreview) BlockInput(1) ControlClick($hMapping, '', '[CLASS:Button; INSTANCE:1]') BlockInput(0) Sleep(500) Next |
Отправлено: 19:25, 05-09-2010 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Выполнение действий при подключении/отключении флешки | Iruta-san | Скриптовые языки администрирования Windows | 3 | 21-06-2010 15:58 | |
Поиск текста и выполнение действий!!! | Giena22 | AutoIt | 5 | 23-09-2009 20:21 | |
Прочие - Переназначение дополнительных кнопок мышки (Mouse4="Enter", Mouse5="Delete", etc) | DreadMaster | Программное обеспечение Windows | 2 | 01-01-2009 17:54 | |
ASCII-последовательности | lunas | Программирование и базы данных | 2 | 09-02-2003 23:54 | |
ASCII-последовательности | lunas | Хочу все знать | 6 | 05-02-2003 14:24 |
|