|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36525 |
Профиль | Сайт | Отправить PM | Цитировать
Внимание! Тема переведена в архивное состояние Текущая тема http://forum.oszone.net/thread-98914.html (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать gregaz
Цитата:
|
|
Отправлено: 20:26, 19-06-2007 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать proxy
Цитата:
#include <GuiConstants.au3> Opt("GuiOnEventMode", 1) $GUI = GUICreate("Test") GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "LV_Event") $ListViewID = GUICtrlCreateListView("Column", 20, 40) GUISetState() While 1 Sleep(10) WEnd Func LV_Event() Local $CursorInfoArr = GUIGetCursorInfo($GUI) If $CursorInfoArr[4] = $ListViewID Then MsgBox(0, "", "Ok, List View was Clicked") EndFunc Func Quit() Exit EndFunc #include <GuiConstants.au3> Opt("GuiOnEventMode", 1) $GUI = GUICreate("Test") GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "Tab_Event") $TabID = GUICtrlCreateTab(20, 40) GUICtrlCreateTabItem("Tab Item") GUISetState() While 1 Sleep(10) WEnd Func Tab_Event() Local $CursorInfoArr = GUIGetCursorInfo($GUI) If $CursorInfoArr[4] = $TabID Then MsgBox(0, "", "Ok, Tab control was Clicked") EndFunc Func Quit() Exit EndFunc |
|
------- Последний раз редактировалось Creat0R, 19-06-2007 в 22:02. Причина: Поправка в коде Отправлено: 22:00, 19-06-2007 | #42 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать объект: "Scripting.Dictionary" - Сортировка данных в словаре
Использование: SortDictionary($objDict, flag) $objDict - словарь (как объект) flag - 0 сортировка по ключам(key); 1 сортировка по элементам(item) $Dict = ObjCreate("Scripting.Dictionary") ;~ Наполняем словарь неотсортированными данными: $Dict.Add ("3", "Delta") $Dict.Add ("1", "Foxtrot") $Dict.Add ("4", "Bravo") $Dict.Add ("2", "Echo") $Dict.Add ("6", "Alpha") $Dict.Add ("5", "Charlie") ;~ Сортировка: SortDictionary($Dict, 0) ;~ Просмотр результатов сортировки: For $o In $Dict MsgBox(0+262144 ,$o, $Dict($o) ) Next ;~ Эта функция основана на: ;~ http://support.microsoft.com/support/kb/articles/q246/0/67.asp Func SortDictionary(ByRef $objDict, $intSort=0) Local Const $dictKey = 0 Local Const $dictItem = 1 Local $strDict[1] Local $objKey Local $strKey, $strItem Local $intCount, $i, $j $intCount = $objDict.Count If $intCount > 1 Then ReDim $strDict[$intCount][2] $i = 0 For $objKey In $objDict $strDict[$i][$dictKey] = String($objKey) $strDict[$i][$dictItem] = String($objDict($objKey)) $i = $i + 1 Next For $i = 0 To $intCount-2 For $j = $i To $intCount-1 If StringCompare($strDict[$i][$intSort], $strDict[$j][$intSort]) > 0 Then $strKey = $strDict[$i][$dictKey] $strItem = $strDict[$i][$dictItem] $strDict[$i][$dictKey] = $strDict[$j][$dictKey] $strDict[$i][$dictItem] = $strDict[$j][$dictItem] $strDict[$j][$dictKey] = $strKey $strDict[$j][$dictItem] = $strItem EndIf Next Next $objDict.RemoveAll For $i = 0 To $intCount-1 $objDict.Add ($strDict[$i][$dictKey], $strDict[$i][$dictItem]) Next EndIf EndFunc Для тех кто не знаком с принципами работы этого объекта, есть хорошая ссылка, котрую дал мне Creat0R :http://www.autoitscript.com/forum/in...56?entry352256 Также, описание свойств и методов можно найти на MSDN. |
Отправлено: 23:45, 19-06-2007 | #43 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать На офф. форуме нашел функцию, которая казалось бы, воплотит в реальность мою давнюю “хотелку” ...
Вот функция: Func SetParent($hWndChild, $hWndNewParent) Local $vRtn = DllCall("USER32.DLL", "hwnd", "SetParent", "hwnd", $hWndChild, "hwnd", $hWndNewParent) Return $vRtn[0] EndFunc Окно однако становится дочерним/родительским, но не так как мне этого хотелось... В общем вопрос вот в чём: Возможно ли переделать эту функцию (или написать новую), которая позволит прикреплять одно окно к другому, также как это происходит при вызове подобной фкункции MsgBox... |
------- Отправлено: 02:15, 20-06-2007 | #44 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Diamond
ИМХО у "Scripting.Dictionary" только одно преимущество перед массивами AutoIT - индекс может быть не только числовым, но и текстовым... другими словами это означает штатную поддержку _ArraySearch(), которая в AutoIT доступна только через UDF... Во всех остальных случаях не вижу причин для замены ими штатных массивов... Между прочим функция SortDictionary() по большому счету ничем не отличается от _ArraySort() (кроме отсутствия контроля ошибок), поэтому быстрей она работать не может по определению... Подробно: http://www.osp.ru/win2000/2006/07/3643019 Creator Цитата:
Цитата:
|
||
Отправлено: 04:58, 20-06-2007 | #45 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать А кто-нибудь знает как запускать inf файлы при помощи AutoIt?
|
Отправлено: 11:19, 20-06-2007 | #46 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата:
Почему такая проверка: if WinWaitActive('Мастер новых подключений', 'Выберите, надо ли автоматически подключаться к Интернету','5' )==1 Then Send ( '{UP}{ENTER}' ) EndIf Если это окно не появляется, то нажатие стрелки вверх и энтера всё равно производится. В чем ошибаюсь, может как-то проверять надо другим способом? |
|
Отправлено: 12:41, 20-06-2007 | #47 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать amel27
Цитата:
Цитата:
|
||
Отправлено: 14:46, 20-06-2007 | #48 |
Старожил Сообщения: 460
|
Профиль | Отправить PM | Цитировать хм....., если Creat0R это стиль жизни...то как же тебя именовать?
В любом случае, Человек живущий и создающий - Спаибо, уже витал ответ в голове но небыло времени проверить... а так и бестрее и вернее выйдет ))) Продолжу вкладывать свои силы в подобный тебе стиль жизни.. ) |
------- Отправлено: 15:28, 20-06-2007 | #49 |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать В обычном режиме скрипт работает нормально: мелькают окна, но установка проходит автоматом до конца.
При использовании ключа /VERYSILENT идёт скрытый режим и натыкается на место, когда на экране одновременно два окна. Послать команду надо в верхнее окно, но скрипт его упорно не видит. Как победить? Добавлено: Разобрался. Оказалось, что это баг самой подопытной программы. |
Последний раз редактировалось ChVL, 21-06-2007 в 10:51. Отправлено: 15:29, 20-06-2007 | #50 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[Архив - Часть 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 |
|