|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты |
|
[Архив - Часть 1.3] AutoIt скрипты
|
Старожил Сообщения: 250 |
Профиль | Отправить PM | Цитировать
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. Помогите пожалуйста. Нужен маленький скриптик для решения некоторых рутинных задачь. Вот что нужно сделать последовательно: 1) в папке DIR1 находим и удаляем файлы в названии которых присутствует text_1 2) в папке DIR2 находим xxx.sif и удаляем строки, в которых присутствует text_1 3) в папке DIR3 находим xxx.inf и добавляем в его секцию [XXX] несколько строчкек (text_2, text_3, ..., text_n) 4) в папке DIR4 находим yyy.inf ищем в его секции [YYY] text_4 и заменяем его на text_5 5) сохраняем все изменения и выводим отчёт о проделанной работе :-) Заранее благодарен. |
|
Отправлено: 05:05, 03-12-2006 |
Ищу Человека… Сообщения: 420
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 16:30, 03-01-2007 | #91 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 81
|
Профиль | Отправить PM | Цитировать Sanja Alone
Спасибо, думал я не так что-то делаю. Но именно такие команды на срабатывают. В смысле права доступа остаются прежними. И разные варианты команд пробовал и разные файлы. Ничего не помогает... |
Отправлено: 22:09, 03-01-2007 | #92 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Как можно деактивировать гуи (GuiSetState(@SW_DISABLE)), но чтобы можно было перетаскивать окно (через заголовок)? или хотябы как деактивировать элементы гуи (кнопки, поля ввода и т.д.), но чтобы они не затемнялись, а в обычном их виде были недоступны для использования?
|
------- Отправлено: 03:32, 04-01-2007 | #93 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
Ведь если запретить обработку событий ВСЕХ кнопок и элементов то это и будет по сути заблокированное GUI. В функции которая обрабатывает событие кнопки надо поставить условие: Например оставить $zapret=True пока пользователь не введёт верный пароль и т.п. |
|
------- Отправлено: 10:09, 04-01-2007 | #94 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond_m
Цитата:
И даже если и подойдёт такой ввариант, у меня слишком много чекбоксов в гуи (более 30-ти), и ставить их всех на условия не очень практичное решение... хотелось бы просто заблокировать элемент (чекбокс к примеру), и чтобы небыло возможности зажать галку, но и вид чтобы оригинальный оставался. Я думал что может есть какой то стиль который это делает, но в справке уже замучался искать Спасибо за попытку помочь... но мне кажется моей задумке (как и многим другим моим задумкам ), в AutoIt'е просто нет решения |
|
------- Отправлено: 10:39, 04-01-2007 | #95 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
#include <GUIConstants.au3> Opt("GUIOnEventMode", 1) $test= GUICreate("TestCover","400","300") GUISetOnEvent($GUI_EVENT_CLOSE,"closed") $cover=GUICtrlCreateLabel("",0, 0, 400,300) GUICtrlSetState($cover,$GUI_DISABLE) Dim $status=0 $CTRL_btn1 = GUICtrlCreateButton ("Заблокировать GUI", 180, 130, 120, 22,$BS_DEFPUSHBUTTON) GUICtrlSetOnEvent($CTRL_btn1,"CoverGui") $CTRL_Checkbox = GUICtrlCreateCheckbox ("Checkbox",80,5,66,15) GUICtrlCreateGroup ("RadioGroup", 5, 5, 70, 60) $radio0 = GUICtrlCreateRadio ("radio1", 10, 20, 50, 15) $radio1 = GUICtrlCreateRadio ("radio2", 10, 40, 50, 15) GUICtrlSetState ($radio0,$GUI_CHECKED) GUICtrlCreateGroup ("",-99,-99,1,1) $CTRL_edit = GUICtrlCreateEdit ("0", 10, 80, 34, 18,$ES_NUMBER) GUISetState() While 1 Sleep(1000) WEnd Func closed() Exit(0) EndFunc Func CoverGui() If $status=1 Then GUICtrlSetState($cover,$GUI_DISABLE) $status=0 Else GUICtrlSetState($cover,$GUI_ENABLE) $status=1 EndIf EndFunc |
|
Отправлено: 15:13, 04-01-2007 | #96 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond_m
Цитата:
Может можно как то блокировать доступ клавиатуры именно в гуи (BlockInput() не предлагать )? |
|
------- Отправлено: 22:01, 04-01-2007 | #97 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R
Сначала я решил что дело только в стиле кнопки $BS_DEFPUSHBUTTON, который я вставил умышленно для удобства тестирования. К сожалению о пробеле и TAB я не подумал. А что если в функцию CoverGui() после условия Else добавить строчку: ControlFocus("TestCover","",$cover) а в шапке добавить: HotKeySet("{TAB}","nul") где nul() это пустая функция которая ничего ни делает (её так-же придётся дописать). Это сработает! Минус только в том что мы получаем неработающую клавишу {TAB} в системе. Ну и конечно убрать стиль: $BS_DEFPUSHBUTTON с кнопки, чтобы ее нельзя было нажать с помощью ENTER. |
Отправлено: 10:12, 05-01-2007 | #98 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R
Ещё проще... Ничего в шапке писать не надо, потребуется только изменить функцию. Это хотя бы позволит отключить {TAB} только на момент блокировки GUI. Func CoverGui() If $status=1 Then GUICtrlSetState($cover,$GUI_DISABLE) $status=0 HotKeySet("{TAB}") ;снимаю блокировку {TAB} HotKeySet("^{TAB}") HotKeySet("+{TAB}") Else GUICtrlSetState($cover,$GUI_ENABLE) $status=1 ControlFocus("TestCover","",$cover) HotKeySet("{TAB}","nul") ; блокирую возможные комбинации {TAB} HotKeySet("^{TAB}","nul") HotKeySet("+{TAB}","nul") EndIf EndFunc Func nul() EndFunc |
Последний раз редактировалось Diamond_m, 05-01-2007 в 12:22. Отправлено: 11:47, 05-01-2007 | #99 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond_m
Цитата:
Ладно, ничего не поделать, придётся деактивировать "некрасиво" ($GUI_DISABLE - или 128). Есть у меня друга задумка, но она тоже не работает - нужно поставить прогресс бар, и потом отменить его... вот гуи, и не пойму почему не работает такая конструкция: Opt("GuiOnEventMode", 1) #include <GUIConstants.au3> Global $ExitLoop $gui = GUICreate("Abort GUI", 420, 140, -1, -1, $WS_SIZEBOX) $Button = GUICtrlCreateButton("Start", 180, 20, 70) GUICtrlSetOnEvent($Button, "Button") GUISetOnEvent(-3, "ExitScript") $Progress = GUICtrlCreateProgress(60, 60, 300, 15) GUISetState(@SW_SHOW) While 1 Sleep(100) WEnd Func Button() GUICtrlSetData($Button, "Abort") GUICtrlSetOnEvent($Button, "SetExitLoop") While $ExitLoop = 0 For $i = 10 To 100 Sleep(10) GUICtrlSetData($Progress, $i) Next WEnd GUICtrlSetData($Button, "Start") EndFunc Func SetExitLoop() $ExitLoop = 1 EndFunc Func ExitScript() Exit EndFunc |
|
------- Отправлено: 13:03, 05-01-2007 | #100 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|