|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36567 |
Внимание! Тема переведена в архивное состояние Текущая тема http://forum.oszone.net/thread-98914.html (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать HORRIBLE
надеюсь, вы предварительно ознакомились с материалами форума по установке Adobe Reader 8.0? NikLok Цитата:
Цитата:
![]() |
||
Отправлено: 09:48, 02-12-2007 | #801 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
немного отсебятины по поводу юникода: - в ANSI-режиме AutoIT юникодовые (UTF-16) строки можно хранить только в переменных типа Binary, так как двухбайтовые символы включают нулевые байты недопустимые в обычных строках…. точнее такие байты воспринимаются как конец ANSI-строки и строковые функции перестают корректно работать. Зато обычные строки (тип String) могут хранить и обрабатывать юникодовый текст в формате UTF-8… но так как Windows API понимает юникод только в UTF-16 перед передачей в API (к примеру в GUI) требуется дополнительное преобразование кодировки. - чтобы переключить AutoIT в юникодовый режим сам текст скрипта должен быть набран в юникоде… SciTE способен редактировать юникодовые скрипты, но не позволяет пересохранить скрипт в другом формате - для этого можно воспользоваться «блокнотом» - в юникодовом режиме AutoIT все строки представлены двухбайтовыми символами UTF-16, и все строковые функции «заточены» на работу именно с такими строками, в частности результат StringLen() будет отличаться от количества байтов в строке (в два раза)… для работы с многобайтовыми строками UTF-8 требуется их предварительное преобразование в UTF-16 - при передаче строк в GUI-элементы через SendMessage() важно учитывать в каком режиме находится AutoIT, так как для передачи ANSI и Юникодовых строк используются разные номера сообщений… между тем мне не попадалось пока UDF, пытающихся самостоятельно определить текущий режим работы AutoIT |
Отправлено: 14:01, 02-12-2007 | #802 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата:
Цитата:
Цитата:
|
|||
------- Отправлено: 16:22, 02-12-2007 | #803 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать На элементе ListView созданный с помощью UDF функции(_GUICtrlListView_Create) почему-то не срабатывает GUICtrlSetResizing().
Конечно можно было бы изменять его размер при получении сообщения WM_SIZING от окна, но к сожалению GUICtrlSetPos() на нём тоже не срабатывает... Мне кажется, что это происходит из-за отсутствия ID у ListView... Как быть? Может кто-то уже сталкивался с этим? P.S. У UDF'ного ListView нашёл баг: Если попытаться поменять местами пункты в ListView - отображается "+" и окно зависает до тех пор пока не кликнешь по другому окну, например по "Рабочему столу". Если пункты(item) в ListView имеют изображения, то воспроизводится такой же баг если потянуть за само изображение. |
Отправлено: 19:11, 02-12-2007 | #804 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond,
Цитата:
Цитата:
|
||
------- Отправлено: 23:31, 02-12-2007 | #805 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
Цитата:
Цитата:
![]() ![]() |
|||
Отправлено: 04:18, 03-12-2007 | #806 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Creat0R,
Цитата:
Что касается недостатков... то есть хоть и один но очень существенный: Если ListView был создан с помощью штатной GuiCtrlCreateListView() то управлять им с помощью UDF'х функций не получится(Хотя некоторые всё же срабатывают). Цитата:
В общем реализовал так: Func WM_SIZE($HWnd, $MsgID, $wParam, $lParam) Switch $HWnd Case $hGui Local $Client = WinGetClientSize($HWnd) ControlMove($HWnd, "", $hListView, 5, 5, $Client[0]-10, $Client[1]-10) EndSwitch Return $GUI_RUNDEFMSG EndFunc Думаю проблема решена, спасибо. |
||
Отправлено: 04:35, 03-12-2007 | #807 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Передача строки другому приложению
И собственно вопрос, что должен содержать первый элемент(dwData) у структуры tCopyData? P.S. Как передать-принять командную строку если скрипт которому её нужно передать уже работает? Я в начале предположил что это можно реализовать через WM_COPYDATA используя два процесса. Может есть какой нибудь специальный способ? |
Отправлено: 05:38, 03-12-2007 | #808 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27,
Цитата:
![]() Цитата:
![]() ![]() Насколько я знаю, это новый макрос, я его лично приминил пару раз (к примеру в проэкте KeyBoard and Mouse Cleaner - для которго кстати мне и нужны функции блокирования клавиш ![]() ![]() ![]() Diamond, Цитата:
![]() Цитата:
![]() Я бы использовал тут WM_SIZING, оно срабатывает в момент смены размеров. Кстати если интересно, могу подкинуть функцию для автоматической смены размера колонок в ListView (сам писал), в момент смены размера GUI будут смещаться колонки в идентичный размер для каждой (опционально - либо по ширине списка, либо до последнего разделителя). Цитата:
Этот скрипт нужно запустить (не из SciTE), и потом запустить его ещё раз ![]() ![]() |
|||||
------- Последний раз редактировалось Creat0R, 03-12-2007 в 07:10. Отправлено: 06:38, 03-12-2007 | #809 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Diamond
Цитата Diamond:
Цитата Diamond:
|
||
Отправлено: 09:58, 03-12-2007 | #810 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|