|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
|
[архив - Часть 2] AutoIt скрипты
|
|
(*.*) Сообщения: 36572 |
Внимание! Тема переведена в архивное состояние Текущая тема 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 | |
|