![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36574 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
![]() Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Как с помощью скрипта AutoIt заблокировать клавиатуру и мышку, чтоб пользователь во время выполнения скрипта не мог случайно нажать клавишу, переместить мышку, активировать другое окно.
Вопрос отпал, нашел: BlockInput(1) или (0) - включить/выключить. |
Последний раз редактировалось EvgeniuXP, 05-10-2008 в 23:48. Отправлено: 23:23, 05-10-2008 | #961 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата FaustPatron:
|
|
------- Отправлено: 04:38, 06-10-2008 | #962 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R,
Цитата:
![]() $sString = "c:\DIR1\file1.txt" &@CRLF $sString &= "c:\DIR1\file2.doc" &@CRLF $sRetVar = _StringRegExpReplaceEx($sString, "((?:[^\r\n\\]+\\)+)([^\r\n\\]+?)(\.[^.\r\n]+)", "_ChPathExt") MsgBox(64, "Results", StringFormat("Было:\n%s\n\nСтало:\n%s\n\n\n" & _ "Для всех файлов исходный путь заменяется на резервный, а к расширению добавляется 'BAK'", $sString, $sRetVar)) Func _StringRegExpReplaceEx($sString, $sPattern, $sFunction) Local $sReplace Local $aM1 = StringRegExp($sString, $sPattern, 4), $aM2 If IsArray($aM1) Then For $i=0 To UBound($aM1)-1 Local $as[10]=['','','','','','','','','',''] $aM2=$aM1[$i] For $j=0 To UBound($aM2)-1 $as[$j]=$aM2[$j] Next $sReplace = Call($sFunction, $as) $sString = StringReplace($sString, $aM2[0], $sReplace, 1, 1) Next EndIf Return $sString EndFunc Func _ChPathExt($aGroups) Local Const $sNewPath = "d:\DIR2\" Local Const $sNewExtn = $aGroups[3] &".Bak" Return $sNewPath & $aGroups[2] & $sNewExtn EndFunc |
|
Отправлено: 13:20, 06-10-2008 | #963 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата amel27:
![]() Цитата amel27:
![]() Цитата amel27:
Если не трудно, почитай тот запрос, может действительно у тебя получилось сделать то что там предлагается... |
|||
------- Отправлено: 21:45, 06-10-2008 | #964 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Creat0R, Подскажи где взять описание на русском для библиотеки IE.au3
Если перевод существует конечно. |
Последний раз редактировалось FaustPatron, 07-10-2008 в 02:53. Отправлено: 01:03, 07-10-2008 | #965 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
![]() Цитата:
![]() $sString = "c:\DIR1\DIR1\file1.txt" &@CRLF $sString &= "c:\DIR1\DIRA\file2.doc" &@CRLF $sString &= "c:\DIR1\file1.txt" &@CRLF $sRetVar1 = _StringRegExpReplaceEx1($sString, "(?i)(c:\\DIR1)([^\r\n]+)", "_ChPathExt") $sRetVar2 = _StringRegExpReplaceEx2($sString, "(?i)(c:\\DIR1)([^\r\n]+)", "_ChPathExt") MsgBox(64, "Results", StringFormat("Было:\n%s\nСтало_1:\n%s\n\nСтало_2:\n%s\n\n" & _ "Для всех файлов в исходном пути убирается корневая папка.", $sString, $sRetVar1, $sRetVar2)) Func _StringRegExpReplaceEx1($sString, $sPattern, $sFunction) Local $aM1 = StringRegExp($sString, $sPattern, 4) Local $sReplace, $aM2 If IsArray($aM1) Then For $i=0 To UBound($aM1)-1 Local $as[10]=['','','','','','','','','',''] $aM2=$aM1[$i] For $j=0 To UBound($aM2)-1 $as[$j]=$aM2[$j] Next $sReplace = Call($sFunction, $as) $sString = StringReplace($sString, $aM2[0], $sReplace, 1, 1) Next EndIf Return $sString EndFunc Func _StringRegExpReplaceEx2($sString, $sPattern, $sFunction) Local $sSqueeze = StringRegExpReplace($sString, $sPattern, Chr(0)) Local $aSqueeze = StringSplit($sSqueeze, Chr(0)) Local $sResult = "" Local $aM1 = StringRegExp($sString, $sPattern, 4), $aM2 If IsArray($aM1) Then For $i=0 To UBound($aM1)-1 Local $as[10]=['','','','','','','','','',''] $aM2=$aM1[$i] For $j=0 To UBound($aM2)-1 $as[$j]=$aM2[$j] Next $sResult &= $aSqueeze[$i+1] & Call($sFunction, $as) Next EndIf Return $sResult & $aSqueeze[$aSqueeze[0]] EndFunc Func _ChPathExt($aGroups) Local Const $sNewRoot = "c:" Return $sNewRoot & $aGroups[2] EndFunc |
||
Последний раз редактировалось amel27, 07-10-2008 в 06:36. Отправлено: 05:43, 07-10-2008 | #966 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Всем привет! Я недавно начал пользоваться этой программой и уже столкнулся с проблемой. У меня никак не получается перезаписать ini файл. Задача состоит в том, что нужно скопировать ячейку в .xls файле и записать эту информацию в определенный ключ в ini файле. И сделать это еще раз.
Проблему в этой строчке "IniWrite("C:\Work\Test.ini", "DB", "sn", Send ('+{INS}'))", а именно в комманде записи ключа из буфера обмена, я не могу решить сам. Была идея заносить что скопировано в переменную, а потом её выводить в файл, но и это у меня не получилось. Прошу вашего совета. WinActivate ("Microsoft Excel - филиалы.xls") $1 = WinWaitActive ("Microsoft Excel - филиалы.xls", "", "2") If $1 = True Then SEND("{RIGHT}") Sleep (100) Send ('^{INS}') Sleep (100) IniWrite("C:\Work\Test.ini", "DB", "sn", Send ('+{INS}')) WinActivate ("Microsoft Excel - филиалы.xls") SEND("{RIGHT}") Sleep (100) Send ('^{INS}') Sleep (100) SEND("{LEFT}") SEND("{LEFT}") IniWrite("C:\Work\Test.ini", "DB", "dn", Send ('+{INS}')) Else MsgBox (0, "Ошибка", "") EndIf |
Отправлено: 15:49, 07-10-2008 | #967 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать 6757439, потому что Вы не совсем корректно используете функцию IniWrite, в месте, где у Вас "Send ('+{INS}')" нужно постить текст..
чтобы вставить содержимое буфера обмена, нужно использовать такую связку: $a = ClipGet() ; Содержимое буфера обмена присваивается переменной $a IniWrite("C:\Work\Test.ini", "DB", "sn", $a) ; Здесь при записи вместо какого-либо текста используется содержимое буфера обмена |
Отправлено: 16:31, 07-10-2008 | #968 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Все получилось благодаря подсказке Рысь. Появилась еще одна проблема:
При запуске программы (через AutoIt3), которая использует вышеописанный ini файл, выводится сообщение об ошибке "не удалось прочитать данные из .ini файла". Хотя если запускаю через эксплорер - все отлично открывается. В чем может быть загвоздка? Для запуска использую следующую строку: |
Отправлено: 17:30, 07-10-2008 | #969 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:27, 07-10-2008 | #970 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|