Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Ответить
Настройки темы
[Архив - Часть 1.2] AutoIt скрипты

Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Нет, не бета, у меня наоборот DNS не отзывается. Фича новая, значит без глюков не обойтись. Если бы не ваш пост не сунулся бы в справку и не обнаружил что версия уже устарела...

Отправлено: 15:32, 15-02-2006 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


А как отследить, что было активизировано окно "Запуск программы"(это которое Пуск -> Выполнить)? Оно собственного заголовка не имеет.

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 11:02, 17-02-2006 | #12


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


А разве "Запуск программы" не заголовок? Вроде работает:
Код: Выделить весь код
WinWait("Запуск программы")
MsgBox(0,"Внимание!","Окно активировано!")

Отправлено: 15:53, 17-02-2006 | #13


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Да, но теперь другая проблема... Я пишу задачу для nnCron, которая при активизации этого окна будет переключать в нем раскладку. Использовал пример из FAQ.
Суть проста - при логоне в цикле пускается нижеследующий скрипт, который сперва ждет активизации окна, переключает раскладку, а потом ждет деактивизации, и завершает работу. Тут же запускается по новой, ждёт и т.п. Как можно убедиться, переключение раскладки - не работает! Я жму Win-R, вижу окно и... печатаю в нем по-русски. А как указано в секции параметры, должен бы по-английски... а в трее балун кажет, что уже WinWaitNotActive выполняется, значит _SetKeyboardLayout уже отработал... Тестировал скрипт на одиночном его запуске, добавил строку, которой проверяю правильность полученного хэндла... все вроде правильно....

Код: Выделить весь код
Const $DEU = "00000407" ;Немецкий (стандартный) 
  Const $ENU = "00000409" ;Английский (США) 
  Const $FRA = "0000040C" ;Французский (стандартный) 
  Const $FIN = "0000040D" ;Финский 
  Const $ITA = "00000410" ;Итальянский 
  Const $PLK = "00000415" ;Польский 
  Const $RUS = "00000419" ;Русский 
  Const $UKR = "00000422" ;Украинский 
  Const $BLR = "00000423" ;Белорусский 
  Const $EST = "00000425" ;Эстонский 
  Const $LTH = "00000426" ;Латвийский 
  Const $LVI = "00000427" ;Литовский 
  Const $CHS = "00000804" ; Chinese (People's Republic of China) 
  Const $CHT = "00000404" ; Chinese (Taiwan)
  
  
  ;--------=========================ПАРАМЕТРЫ========================-------------
  
  ; 
  $WinTitle = "Запуск программы"
  $layout =   $ENU
  
  
  
  ;--------=========================КОД========================-------------
  
  
  
  Opt("TrayIconDebug", 1) 
  Opt("WinTitleMatchMode", 2)
  WinWaitActive($WinTitle)
  Opt("WinTitleMatchMode",4)
  $hWnd = WinGetHandle("last")
  
  ; раскомментируйте следущую строку, чтобы убедиться, что handle получается правильный!
  ; WinClose($hWnd)
  
  ;переключение раскладки в окне, определяемом указателем $hWnd
  
  ; вот эта функция не работает
  _SetKeyboardLayout($layout, $hWnd)
  
  Opt("WinTitleMatchMode", 2)
  WinWaitNotActive($WinTitle)
  
  Exit
  ; --------=========================ПОДВАЛ========================-------------
  
   
  Func _SetKeyboardLayout($sLayoutID, $hWnd)
  Local $WM_INPUTLANGCHANGEREQUEST = 0x50
  Local $ret = DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", $sLayoutID, "int", 0)
  DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $ret[0])
  EndFunc

Может, это не работает потому, что у меня помимо русской и английской стоит также и китайская раскладка?

Отправлено: 21:44, 17-02-2006 | #14


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


спасибо за внимание, конечно, в общем, поборол проблему. теперь я, переключаясь в окно cmd.exe или нажимая Win+R, могу не беспокоиться за раскладку, она у меня всегда английская.... если кому-то надо, выложу скрипты...

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 00:38, 19-02-2006 | #15


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


Dirk Diggler
Цитата:
если кому-то надо, выложу скрипты...
Это действительно FAQ - сам видишь... Можешь и свой вариант добавить - многим это может пригодиться.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 02:55, 19-02-2006 | #16


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


в случае с окном "Запуск программы..." из FAQ не подошло.

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 13:41, 19-02-2006 | #17


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Как сделать так, чтобы элементы TreeView можно было перетаскивать из одной ветки в другую?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 19:36, 19-02-2006 | #18


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


Dirk Diggler
Цитата:
в случае с окном "Запуск программы..." из FAQ не подошло.
Как ты сам понимаешь, все ситуации нельзя предвидеть. Я у себя на компе вообще не использую ни одного из приведенных в FAQ методов - у меня ф-ции Send и ControlSetText нормально отрабатывают при посылке как англ. так и рус. символов без всякого переключения раскладки. Уж не знаю с чем связана такая беспроблемность, но это факт... Теперь по сути - если есть желание помочь народу, то приведи свой листинг в этой теме; если метод окажется работоспособным, то он также будет включен в FAQ.

Цитата:
Как сделать так, чтобы элементы TreeView
AutoIt не умеет работать с такими эл-тами.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 03:05, 20-02-2006 | #19


Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
Send и ControlSetText нормально отрабатывают при посылке
Я писал эти скриптики не для Send и ControlSetText, а для исключения сиуации, когда я хочу запустить regedit, а он запускаю купувше

Цитата:
AutoIt не умеет работать с такими эл-тами.
Ну у него есть же контрол TreeView, вполне стандартный виндовый. Он порождает вполне виндовые события... Может, можно как-то написать обработчик?
В целом задача стоит так: есть древовидная структура - корень, от него ветки, достаточно одного уровня, т.е. ветка в ветке уже не обязательно, в этих ветках - некие элементы. Надо лишь одну вещь сделать - чтобы эти элементы можно было легко перекидывать из одной ветки в другую. может, использовать что-то отличное от TreeView?

Отправлено: 10:28, 20-02-2006 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход