Autoit сохранить файл как
Готовые скрипты и программы с открытым кодом на AutoIt:
1) Исходный файл в UINX кодировке, а сохраненный копированием в WINDOWS кодировке.
2) Добавились дефис и пробел: "- " в начале строк и символы табуляции заменились на 2 пробела.
Можно просто снести (заменить на символ табуляции) 2 пробела или "- " в начале всех строка и все.
;Проверяем во второй раз (первый игнорируем - будет выведено текущее значение, т.к ещё не была сделана запись), на сохранение
MsgBox ( 64 , "Results" , IniRead ( $sConfig , "Sect" , "Key" , "" ))
Func _CreateTempFile ( $s_DirectoryName = @TempDir , $s_FilePrefix = "
" , $s_FileExtension = ".tmp" , $i_RandomLength = 7 )
Local $s_TempName
Do
$s_TempName = ""
While StringLen ( $s_TempName ) < $i_RandomLength
$s_TempName = $s_TempName & Chr ( Random ( 97 , 122 , 1 ))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists ( $s_TempName )
Файлы upx.exe, Aut2exe.exe, AutoItSC.bin, Options.ini поместить в папку со скриптом (Script.au3).
Есть два значительных ограничения:
P.S
Я уверен это может реализовать намного лучше, но это то что набрасалось на скорую руку.
К NTFS потокам привязываться не хотелось бы. Не универсально как-то.
Maza Faka
Не мог бы ты в кратце объяснить в чём принцып твоего метода?
Думаю над возможностью записи в сам файл. UPX может компресить по LZMA алгоритму к стати. Ну так вот, если это архив, то нельзя ли смастерить такой алгоритм. Создаётся копия исполняемого exe (куда это ещё вопрос, но вариантов несколько, хотя хочется чтоб в оперативу куда-нибудь) и файл options.ini, гдето там же. По завершению программы она довносит файл options.ini в копию исполняемого файла с заменой. Далее удаляет себя и ложит новый файл на своё место. Отсюда вопрос, каким набором в командной строке можно заставить upx внести файл options.ini в архив с заменой?
Порывшись понял что архив создаётся с изменённым заголовком в итоге. и раскрыть его, так же как и воспринять, как архив UPX нельзя. Нужна ручная корректировка заголовка. Может кто с этим сталкивался?
$hGUI = GUICreate ( "Test GUI" , 200 , 100 )
$checkbox = GUICtrlCreateCheckbox ( "Check me" , 50 , 25 , 50 , 20 )
$checkButton = GUICtrlCreateButton ( "Get state" , 50 , 60 , 75 , 23 )
GUISetState ()
VitAlll2013
как в этом языке отправлять инпуты неактивному окну.
точьнее как работать с НЕ АКТИВНЫМИ окнами.
Типа я хочу печатать документ, а что бы в это время на заднем плане периодически нажимались кнопки в окне и возвращался ответ с некоторых пикселей екрана о цвете.
Вот такой вопросик у меня.
Или, если нужно дождаться запуска/остановки, а потом продолжить выполнение -
;Запускаем "Диспетчер Задач"
$iPID = Run ( "Taskmgr.exe" )
;Ждём появление процесса и окна "Диспетчера Задач"
ProcessWait ( $iPID )
WinWait ( $sTM_Title )
Sleep ( 2000 )
;5 раз меняем таб в лево, на всякий случай
For $i = 1 To 5
ControlCommand ( $sTM_Title , "" , "SysTabControl321" , "TabLeft" )
Next
;Нажимаем на кнопку Новая задача
ControlClick ( $sTM_Title , "" , "Button3" )
;Пишем запуск реестра
ControlSetText ( $sNT_Title , "" , "Edit1" , "Regedit.exe" )
;Нжимаем кнопку OK
ControlClick ( $sNT_Title , "" , "Button2" )
Готовые скрипты и программы с открытым кодом на AutoIt:
1) Исходный файл в UINX кодировке, а сохраненный копированием в WINDOWS кодировке.
2) Добавились дефис и пробел: "- " в начале строк и символы табуляции заменились на 2 пробела.
Можно просто снести (заменить на символ табуляции) 2 пробела или "- " в начале всех строка и все.
;Проверяем во второй раз (первый игнорируем - будет выведено текущее значение, т.к ещё не была сделана запись), на сохранение
MsgBox ( 64 , "Results" , IniRead ( $sConfig , "Sect" , "Key" , "" ))
Func _CreateTempFile ( $s_DirectoryName = @TempDir , $s_FilePrefix = "
" , $s_FileExtension = ".tmp" , $i_RandomLength = 7 )
Local $s_TempName
Do
$s_TempName = ""
While StringLen ( $s_TempName ) < $i_RandomLength
$s_TempName = $s_TempName & Chr ( Random ( 97 , 122 , 1 ))
WEnd
$s_TempName = $s_DirectoryName & $s_FilePrefix & $s_TempName & $s_FileExtension
Until Not FileExists ( $s_TempName )
Файлы upx.exe, Aut2exe.exe, AutoItSC.bin, Options.ini поместить в папку со скриптом (Script.au3).
Есть два значительных ограничения:
P.S
Я уверен это может реализовать намного лучше, но это то что набрасалось на скорую руку.
К NTFS потокам привязываться не хотелось бы. Не универсально как-то.
Maza Faka
Не мог бы ты в кратце объяснить в чём принцып твоего метода?
Думаю над возможностью записи в сам файл. UPX может компресить по LZMA алгоритму к стати. Ну так вот, если это архив, то нельзя ли смастерить такой алгоритм. Создаётся копия исполняемого exe (куда это ещё вопрос, но вариантов несколько, хотя хочется чтоб в оперативу куда-нибудь) и файл options.ini, гдето там же. По завершению программы она довносит файл options.ini в копию исполняемого файла с заменой. Далее удаляет себя и ложит новый файл на своё место. Отсюда вопрос, каким набором в командной строке можно заставить upx внести файл options.ini в архив с заменой?
Порывшись понял что архив создаётся с изменённым заголовком в итоге. и раскрыть его, так же как и воспринять, как архив UPX нельзя. Нужна ручная корректировка заголовка. Может кто с этим сталкивался?
$hGUI = GUICreate ( "Test GUI" , 200 , 100 )
$checkbox = GUICtrlCreateCheckbox ( "Check me" , 50 , 25 , 50 , 20 )
$checkButton = GUICtrlCreateButton ( "Get state" , 50 , 60 , 75 , 23 )
GUISetState ()
VitAlll2013
как в этом языке отправлять инпуты неактивному окну.
точьнее как работать с НЕ АКТИВНЫМИ окнами.
Типа я хочу печатать документ, а что бы в это время на заднем плане периодически нажимались кнопки в окне и возвращался ответ с некоторых пикселей екрана о цвете.
Вот такой вопросик у меня.
Или, если нужно дождаться запуска/остановки, а потом продолжить выполнение -
;Запускаем "Диспетчер Задач"
$iPID = Run ( "Taskmgr.exe" )
;Ждём появление процесса и окна "Диспетчера Задач"
ProcessWait ( $iPID )
WinWait ( $sTM_Title )
Sleep ( 2000 )
;5 раз меняем таб в лево, на всякий случай
For $i = 1 To 5
ControlCommand ( $sTM_Title , "" , "SysTabControl321" , "TabLeft" )
Next
;Нажимаем на кнопку Новая задача
ControlClick ( $sTM_Title , "" , "Button3" )
;Пишем запуск реестра
ControlSetText ( $sNT_Title , "" , "Edit1" , "Regedit.exe" )
;Нжимаем кнопку OK
ControlClick ( $sNT_Title , "" , "Button2" )
Когда работаю открываю достаточно много файлов. Мне бы хотелось все файлы, которые использую
в работе, открывались через одну программу, которая запоминает с какими файлами я работаю. Это как сохранение сессии в интернет-браузерах.
Иногда бывает, что я долго вспоминаю где лежат рабочие файлы :)
Бардак автоматизировать нельзя.
Боюсь, что такой программы не существует. Если не можете запомнить то, с чем работаете - попробуйте записать.
ос х например прекрасно открывает все окна которые были открыты при выключении компьютера.
в программе есть функция, последние открытые файлы
вот в Word и Excel(2010)
есть в ПОСЛЕДНИЕ
а в виндозе недавно посещенные места
а также документы
Почти, но не то. Там тоже надо искать в списке. А было бы хорошо открыть
документы через одну программу, которая специально создана, чтобы сохранять все используемые файлы в определенной работе, как сохраненные сессии в интернет-браузерах.
Например, сохраненная сессия (в той программе, что я имею ввиду) с названием "Диссертация".
При нажатии на него открываются из разных источников (если они существуют на момент открытия: флэшки, жесткие диски) файлы, которые используются в написании диссертации.
Для диссертации используются очень - очень много файлов, программ (Консультант, например), что требует достаточно много времени и нервов для их открытия. Особенно когда пытаешься вспомнить что и где лежит.
когда-то что-то такое видел среди стороннего софта
но сейчас не могу вспомнить, да и кажись глюкало это нипадецки.
Маленький секрет - в виртуальных машинах есть такой функционал: вмваре, виртуалбокс - пересаживайся работать в виртуалку и будет тебе счастье.
В терминальном сервере можно отключаться от сессии не завершая её
В этом уроке вы узнаете
Зачем использовать AutoIt?
Продвигаясь вперед, мы узнаем, как загрузить файл в веб-драйвер селена с помощью autoIT. Здесь нам нужно три инструмента для этого.
- Selenium Webdriver
- Редактор AutoIT и идентификатор элемента
- Окно, которое вы хотите автоматизировать
Как скачать и установить AutoIT
Шаг 1) : перейдите по этой ссылке.
Шаг 2) : наведите курсор на выпадающие меню «Autoit» и «Autoit Editor».
Шаг 3) Нажмите «Загрузки».
Шаг 5) . Теперь загрузите «Autoit editor», нажав кнопку «Загрузки».
Шаг 6): Нажмите на ссылку, как показано ниже.
Шаг 6) : Для установки AutoIT-Click по обеим настройкам AutoIT по одной.
Перейдите в «C: \ Program Files (x86) \ AutoIt3 \ SciTE»
и щелкните файл «SciTE.exe», откроется редактор AutoIT, как показано на экране ниже.
Шаг 8) : теперь открывается элемент Identifier.
Перейдите в «C: \ Program Files (x86) \ AutoIt3»
И нажмите на файл «Au3Info.exe», идентификатор элемента откроется, как показано на экране ниже.
Примечание. После того, как вы закончили с этим идентификатором элемента, вам нужно закрыть его вручную, он не закроется автоматически.
Поиск элемента через идентификатор элемента и написание скрипта в редакторе AutoIT.
Например: мы будем использовать страницу «Написать нам» guru99 для загрузки резюме (файл Doc).
После нажатия кнопки «Выбрать файл» на странице «Написать нам» нам нужно вызвать скрипт AutoIT. Элемент управления сразу же переводится в autoit после нажатия кнопки «Выбрать файл» с помощью инструкции ниже, которая заботится о загрузке части.
Шаг 2) : Теперь откройте окно загрузки файлов, нажав «Выбрать файл», которое является активностью Windows.
Шаг 3) . Перетащите инструмент поиска в элемент окна «Имя файла» окна загрузчика файлов, чтобы найти информацию об основных атрибутах, как показано на приведенном ниже экране со стрелкой.
Начните писать скрипт для выбора файла для загрузки.
Есть много доступных методов, которые мы можем использовать в скрипте в соответствии с требованием, но сейчас мы сосредоточимся на следующих методах, так как эти методы необходимы для написания скрипта загрузки файла:
You can see a number of methods are displayed as shown in below screen. The good feature of AutoIT is that it is somewhat like Eclipse that suggests you some of the methods.
Parameter values for ControlFocus method:
Parameter values for ControlSetText method :
Предыдущие значения (т.е. атрибуты текстового поля «Имя файла») заменяются новыми значениями кнопки «Открыть». Вы можете видеть, что атрибут класса теперь изменен на «кнопку», которая ранее была «отредактирована» в окне идентификатора элемента AutoIT.
Значения параметров для метода ControlClick :
Этот метод нажимает на кнопку «Открыть» в окне загрузки файлов.
Шаг 6) . На приведенном ниже экране видно, что сценарий AutoIT завершен для обработки загрузчика файла. Теперь можно закрыть идентификатор элемента и сохранить сценарий как «FileUpload» в указанном месте (E: \ AutoIT).
Теперь вы не можете выполнить этот скрипт напрямую, вам нужно скомпилировать этот скрипт.
Теперь мы будем использовать этот скрипт AutoIT в веб-драйвере Selenium. Проверьте ниже для вывода.
AutoIT Загрузить файл в Selenium Webdriver
- Откройте Eclipse и начните писать код.
- Когда селен нажимает на кнопку «Выбрать файл», открывается окно загрузки файла.
- Затем нам нужно вызвать скрипт AutoIT, элемент управления немедленно передается в AutoIT для загрузки файла, а затем элемент управления отправляется обратно в селен, как показано ниже.
Шаг 1) : Разработка сценария селена в Eclipse.
- Класс Runtime позволяет сценарию взаимодействовать со средой, в которой выполняется сценарий.
- getRuntime () получает текущую среду выполнения, связанную с этим процессом.
- Методы exec () выполняют скрипт AutoIT (FileUpload.exe).
Выше строка вызовет скрипт AutoIT в селене и загрузит файл.
Шаг 2) : Выполните сценарий Selenium в Eclipse.
Читайте также: