|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36548 |
Профиль | Сайт | Отправить 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 |
Ветеран Сообщения: 825
|
Профиль | Отправить PM | Цитировать Creat0R, amel27, мНЕ собственно нужен как основа скрипт взятия имен машин типа списка аналогичного "Сетевеое окружение". При этом акцент было бы интересно установить на взятие его на машинах с несколькими сетевыми интерфейсами!
|
Отправлено: 10:01, 23-10-2007 | #621 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать NikLok
Перед тем как писать скрипт нужно определиться как разрешать имена: широковещанием (NetBIOS), сервер WINS или DNS?.. Это определяется настройками локальной сети. |
Отправлено: 11:32, 23-10-2007 | #622 |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать У меня идёт опрос окон:
For $i = 0 To 25 MsgBox(64,"System disc","Идёт установка программы ! Подождите пожалуйста "& 26-$i &" секунд...", 2) if WinWait("Окно 1","", 1) Then ControlClick("Окно 1","","Button2") EndIf If WinWait("Окно 2","",1) Then ControlClick("Окно 2","","Button2") EndIf If WinWait("Окно 3","", 1) Then ControlClick("Окно 3","","Button2") EndIf If WinWait("Окно 4","", 1) Then ControlClick("Окно 4","","Button2") EndIf Next Дальше идёт продолжение выполнения скрипта.... Возможно ли сделать в цикле так, что если какое-то из окон определяется то заканчивает работать цикл и переходит к дальнейшему выполнению скрипта? |
------- Отправлено: 12:01, 23-10-2007 | #623 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать TERMINAL
Цитата:
|
|
------- Отправлено: 12:15, 23-10-2007 | #624 |
Ветеран Сообщения: 825
|
Профиль | Отправить PM | Цитировать amel27, Конечно лучше универсальный вариант. Но на худой конец и простой NetBios сгодится!
|
Отправлено: 15:06, 23-10-2007 | #625 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата NikLok:
2. То же через API (функция возвращает массив): Global Const $SV_TYPE_WORKSTATION = 0x1 Global Const $SV_TYPE_SERVER = 0x2 Global Const $SV_TYPE_SQLSERVER = 0x4 Global Const $SV_TYPE_DOMAIN_CTRL = 0x8 Global Const $SV_TYPE_DOMAIN_BAKCTRL = 0x10 Global Const $SV_TYPE_TIME_SOURCE = 0x20 Global Const $SV_TYPE_AFP = 0x40 Global Const $SV_TYPE_NOVELL = 0x80 Global Const $SV_TYPE_DOMAIN_MEMBER = 0x100 Global Const $SV_TYPE_PRINTQ_SERVER = 0x200 Global Const $SV_TYPE_DIALIN_SERVER = 0x400 Global Const $SV_TYPE_XENIX_SERVER = 0x800 Global Const $SV_TYPE_NT = 0x1000 Global Const $SV_TYPE_WFW = 0x2000 Global Const $SV_TYPE_SERVER_MFPN = 0x4000 Global Const $SV_TYPE_SERVER_NT = 0x8000 Global Const $SV_TYPE_POTENTIAL_BROWSER = 0x10000 Global Const $SV_TYPE_BACKUP_BROWSER = 0x20000 Global Const $SV_TYPE_MASTER_BROWSER = 0x40000 Global Const $SV_TYPE_DOMAIN_MASTER = 0x80000 Global Const $SV_TYPE_WINDOWS = 0x400000 Global Const $SV_TYPE_CLUSTER_NT = 0x1000000 Global Const $SV_TYPE_TERMINALSERVER = 0x2000000 Global Const $SV_TYPE_CLUSTER_VS_NT = 0x4000000 Global Const $SV_TYPE_LOCAL_LIST_ONLY = 0x40000000 Global Const $SV_TYPE_DOMAIN_ENUM = 0x80000000 Global Const $SV_TYPE_ALL = 0xFFFFFFFF Func _NetServerEnum ($iSrvType = -1, $sDomain = '') Local $uBufPtr = DllStructCreate("ptr;int;int"), $res[1]=[0], $i Local $uRecord = DllStructCreate("dword;ptr"), $iRecLen = DllStructGetSize($uRecord) Local $uString = DllStructCreate("char[16]") Local $uDomain = DllStructCreate("byte[32]"), $pDomain = 0 If Not ($sDomain='' Or $sDomain='*') Then DllStructSetData($uDomain, 1, StringToBinary($sDomain,2)) $pDomain = DllStructGetPtr($uDomain) EndIf Local $ret = DllCall ("netapi32.dll", "int", "NetServerEnum", _ "ptr", 0, "int", 100, _ "ptr", DllStructGetPtr($uBufPtr,1), "int", -1, _ "ptr", DllStructGetPtr($uBufPtr,2), _ "ptr", DllStructGetPtr($uBufPtr,3), _ "int", $iSrvType, "ptr", $pDomain, "int", 0 ) If $ret[0] Then Return SetError(1, $ret[0], '') Local $res[DllStructGetData($uBufPtr,3)+1]=[DllStructGetData($uBufPtr,3)] For $i=1 To DllStructGetData($uBufPtr,3) Local $uRecord = DllStructCreate("dword;ptr", DllStructGetData($uBufPtr,1)+($i-1)*$iRecLen) Local $sNBName = DllStructCreate("byte[32]", DllStructGetData($uRecord,2)) DllStructSetData($uString,1,BinaryToString(DllStructGetData($sNBName,1),2)) $res[$i] = DllStructGetData($uString,1) Next $ret = DllCall ("netapi32.dll", "int", "NetApiBufferFree", "ptr", DllStructGetData($uBufPtr,1)) Return $res EndFunc |
|
Последний раз редактировалось amel27, 25-10-2007 в 05:23. Отправлено: 11:55, 24-10-2007 | #626 |
Ветеран Сообщения: 825
|
Профиль | Отправить PM | Цитировать amel27, Спасибо! Буду изучать, но пока не понял как указать конкретную сеть для просмотра?! У меня 4 карточки стоит!
Во блин ты даешь! И ведь работает! Я так понимаю параметр ей давть бессмысленно, или там при объявлении он задан на случай отсутствия? |
Последний раз редактировалось NikLok, 24-10-2007 в 12:56. Отправлено: 12:20, 24-10-2007 | #627 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Как создать 24 размерный массив со случайным числом от 1 до 13, причём числа должны быть парными, то есть у каждого числа должна быть пара и расположение их в массиве всегда должно быть случайным.
|
------- Отправлено: 16:57, 24-10-2007 | #628 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
Вобщем если я правильно понял, то вот: |
|
------- Отправлено: 21:30, 24-10-2007 | #629 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать NikLok
Цитата:
Цитата:
Func _GetDomainComputers($sDomain) Local $objComp, $res[1]=[0], $aType[1] = ["computer"] Local $objDom = ObjGet('WinNT://'& $sDomain) If $objDom=0 Then Return SetError(1) $objDom.Filter = $aType For $objComp In $objDom $res[0]+=1 ReDim $res[$res[0]+1] $res[$res[0]]=$objComp.Name Next Return $res EndFunc |
||
Последний раз редактировалось amel27, 25-10-2007 в 12:47. Отправлено: 05:45, 25-10-2007 | #630 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|