|
Компьютерный форум 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 |
Ветеран Сообщения: 504
|
Профиль | Отправить PM | Цитировать Цитата amel27:
|
|
------- Отправлено: 20:56, 05-10-2007 | #551 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Очень часто спрашивают, как кликнуть по иконке программы в трее. С помощью библиотеки SysTray_UDF.au3, которую доработал amel27 сделать это очень просто:
![]() |
Отправлено: 09:43, 06-10-2007 | #552 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Хотел сделать ещё и возможность кликания без задействования мышки, но что то не выходит... Полагаю я неправильно использую функцию ScreenToClient в User32.dll. Может кто-то знает как правильнее? (это кстати моя одна из первых попыток работать с Dll ![]() #NoTrayIcon #include <SysTray_UDF.au3> $Pid = ProcessExists("Opera.exe") If Not $Pid Then MsgBox(16, "Error", "This process not exists") Exit EndIf $Index = _SysTrayIconIndex($Pid) If @error Then MsgBox(16, "Error", "This process not have tray icon") Exit EndIf $Pos = _SysTrayIconPos($Index) $hWnd = WinGetHandle("[Class:Shell_TrayWnd]") $YPos = ScreenToClient($hWnd, $Pos[0]) $XPos = ScreenToClient($hWnd, $Pos[1]) ControlClick("[Class:Shell_TrayWnd]", "", "ToolbarWindow321", "Right", 1, $XPos, $YPos) Func ScreenToClient($hWnd, $Point) Local $Struct = DllStructCreate("int;int") DllStructSetData($Struct, 1, $Point) DllStructSetData($Struct, 2, $Point) Local $Ret = DllCall("User32.dll", "int", "ScreenToClient", "hwnd", $hWnd, "ptr", DllStructGetPtr($Struct)) Return $Ret[0] EndFunc |
------- Отправлено: 10:52, 06-10-2007 | #553 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R
Задумка неплохая, но тут я тебе не советчик, для меня все эти функции с DLL пока тёмный лес :-) |
------- Отправлено: 14:02, 06-10-2007 | #554 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Как можно проверить системные элементы (типа «Мой компьютер», «Мои документы» и т.п) находящиеся на рабочем столе?
Т.е имеется список подобных элементов (имена), нужно каждый из них по этому списку проверить существует ли он на рабочем столе.. как это можно сделать? В реестре конкретной инфы я так и не нашёл, к примеру у меня «Корзина» называется так: «Mycop» (это латинские буквы) ![]() |
------- Отправлено: 18:43, 06-10-2007 | #555 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Обновил Au3ToPost 1.7
Список изменении: Цитата:
|
|
------- Отправлено: 04:06, 07-10-2007 | #556 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Например CLSID корзины выглядит так: {645FF040-5081-101B-9F08-00AA002F954E} |
|
Отправлено: 08:51, 07-10-2007 | #557 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Как отследить нажал ли пользователь определённую кнопку в приложении и в соотвествии с этим выполнить некое действие, что-то вроде этого:
|
Отправлено: 13:56, 07-10-2007 | #558 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
![]() Цитата:
Ну можно ещё проверять нажатия кнопки мышки (используя _IsPressed()) по определённым коортдинатам. |
||
------- Отправлено: 18:01, 07-10-2007 | #559 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата Creat0R:
![]() Func ConvertProc() Send("^{Insert}") Local $strSelect = ClipGet() If $strSelect='' Then Return ClipPut(InvertText($strSelect, $objASC, $objANS)) Sleep(100) Send("+{Insert}") RestoreSelection(StringLen($strSelect)) ClipPut('') EndFunc Func RestoreSelection($iLen) Local $iOldLen=0, $iNewLen=0, $iFixLen=0 Send("^+{RIGHT}^{Insert}") Local $sOld = ClipGet() Send("^+{LEFT}^{Insert}") Local $sNew = ClipGet() If $sOld<>$sNew Then $iFixLen = StringLen($sOld) $iNewLen = StringLen($sNew) EndIf While $iNewLen<$iLen Send("^+{LEFT}^{Insert}") $iOldLen = $iNewLen $iNewLen = StringLen(ClipGet()) Wend If $iNewLen=$iLen Then Return If ($iNewLen-$iLen)<(1+$iFixLen+$iLen-$iOldLen) Then Send('+{RIGHT ' & ($iNewLen-$iLen) & '}') Else Send('^+{RIGHT}+{LEFT ' & ($iLen+$iFixLen-$iOldLen) & '}') EndIf EndFunc Цитата Creat0R:
ADD:через реестр: http://wiki.oszone.net/index.php/%D0...D0%B0/HKCU.REG З.Ы. А зачем Send('{CTRLDOWN}') Send('{CTRLUP}'), от залипаний Ctrl? |
||
Последний раз редактировалось amel27, 08-10-2007 в 11:47. Причина: правка скрипта Отправлено: 07:19, 08-10-2007 | #560 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|