![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36574 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
![]() Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Никак не могу различить один или два клика было в ListView
Функция $WM_NOTIFY ( если в ней задействованы реакции и на одинарный и на двойной клик) при двойном клике дает сигнал уже при первом клике Как сделать чтобы при одинарном клике можно было запустить какой-то AI-скрипт на выполнение , а при двойном -на редактирование |
Отправлено: 08:33, 18-03-2008 | #281 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
Цитата:
#include <GuiConstants.au3> #include <GuiListView.au3> ; Global $iDouble_Click_Event = False Global $iOne_Click_Event = False $GUI = GUICreate("Test Script", 300, 200) $hListView = GUICtrlCreateListView("Column", 10, 10, 280, 170) For $i = 1 To 10 GUICtrlCreateListViewItem("Item " & $i, $hListView) Next GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") GUISetState(@SW_SHOW, $GUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch If $iOne_Click_Event Or $iDouble_Click_Event Then Local $sTempAu3File = @TempDir & "\Au3_Script_Tmp.au3" Local $sTmpScript_Str = 'MsgBox(64, "Hi!", "Hello world!")' Local $hFileOpen = FileOpen($sTempAu3File, 2) FileWrite($hFileOpen, $sTmpScript_Str) FileClose($hFileOpen) If $iOne_Click_Event Then $iOne_Click_Event = False Sleep(200) If Not $iDouble_Click_Event Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sTempAu3File & '"') Else $iDouble_Click_Event = False ShellExecute($sTempAu3File, '', '', 'Edit') EndIf EndIf WEnd Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView = $hListView If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $NM_CLICK $iOne_Click_Event = True Case $NM_DBLCLK $iDouble_Click_Event = True EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc |
|
------- Отправлено: 09:00, 18-03-2008 | #282 |
Пользователь Сообщения: 143
|
Профиль | Отправить PM | Цитировать Creat0R,
Цитата:
|
|
Отправлено: 09:52, 18-03-2008 | #283 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 10:01, 18-03-2008 | #284 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата gregaz:
#include <GuiConstants.au3> #include <GuiListView.au3> Global $DoubleClickSpeed = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed") If $DoubleClickSpeed = "" Then $DoubleClickSpeed = 500 Global $Click = False, $DoubleClick = False $GUI = GUICreate("Test Script", 300, 200) $hListView = GUICtrlCreateListView("Column", 10, 10, 280, 170) For $i = 1 To 10 GUICtrlCreateListViewItem("Item " & $i, $hListView) Next GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") GUISetState(@SW_SHOW, $GUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch If $Click Then $Click = False $Timer = TimerInit() Do Until TimerDiff($Timer) >= $DoubleClickSpeed If Not $DoubleClick Then ConsoleWrite("One click" & @LF) Else ConsoleWrite("Double click" & @LF) $DoubleClick = False EndIf EndIf WEnd Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $tNMHDR, $hWndFrom, $iIDFrom, $iCode $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $iIDFrom Case $hListView Switch $iCode Case $NM_CLICK $Click = True Case $NM_DBLCLK $DoubleClick = True EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc |
|
------- Отправлено: 10:50, 18-03-2008 | #285 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
|
|
Отправлено: 11:47, 18-03-2008 | #286 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Angelus,
Цитата:
![]() ![]() Maza Faka, Я забыл что задержку между кликами можно брать с реестра ![]() Что-то я всё начинаю забывать... |
|
------- Последний раз редактировалось Creat0R, 18-03-2008 в 16:08. Причина: Забыл Отправлено: 12:41, 18-03-2008 | #287 |
Пользователь Сообщения: 63
|
Профиль | Отправить PM | Цитировать И снова я обращаюсь за помощью
![]() 1. Есть сервер обновлений Windows Update, с которого происходит обновление клиентских машин. Все обновления ставятся при подготовке нового ПК. Задача: из скрипта задать старт Windows Update, который при полной загрузке обновлений висит в трее в виде жёлтого щита и ожидает события onClick. Была, конечно, идея: сканировать трей на наличие жёлтого цвета, определять координаты найденного цвета и кликать туда. Но как это реализовать в рамках AutoIt - не знаю. 2. При автоустановке Windows ХР с интегрированными драйверами возникают ситуации, когда не на всё оборудование находятся драйвера. Задача: составить список оборудования, которое в диспетчере задач отображается желтыми вопросами. И снова не знаю, как реализовать это скриптом. Очень прошу, помогите найти решение. Может кто сталкивался с подобными вопросами... |
------- Отправлено: 13:00, 18-03-2008 | #288 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата DNK_Inc:
#NoTrayIcon #Include <GuiToolBar.au3> _SysTray_ClickItem("Громкость", "left", 2) ;==================================================================================== ; ;Function Name: _SysTray_ClickItem() ;Description: Click on item in Windows system tray by any substring in the title ;Parameters: $iTitle - The title of the item in Windows system tray (you can see the title of the item when mouse cursor hovered on item). ; $iButton - [optional] The button to click, "left" or "right". Default is the left button. ; $iClick - [optional] The number of times to click the mouse. Default is 2 ; ;Return Value(s): None ;Requirement(s): AutoIt 3.2.10.0 ; ; ;Autor(s): R.Gilman (a.k.a rasim); Siao (Thanks for idea :)) ; ;==================================================================================== Func _SysTray_ClickItem($iTitle, $iButton = "left", $iClick = 2) Local $hToolbar, $iButCount, $aRect, $i If Not $iTitle Then MsgBox(16, "Error", "Please indicate title") Return 0 EndIf $hToolbar = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]') If @error Then MsgBox(16, "Error", "System tray not found") Return 0 EndIf $iButCount = _GUICtrlToolbar_ButtonCount($hToolbar) If $iButCount = 0 Then MsgBox(16, "Error", "Not found item in system tray") Return EndIf For $i = 0 To $iButCount - 1 $cID = _GUICtrlToolbar_IndexToCommand($hToolBar, $i) If StringInStr(_GUICtrlToolbar_GetButtonText($hToolBar, $i), $iTitle) Then $aRect = _GUICtrlToolbar_GetButtonRect($hToolBar, $i) ControlClick("[Class:Shell_TrayWnd]", "", "ToolbarWindow321", $iButton, $iClick, $aRect[0], 5) $aRect = 0 Return 1 EndIf Next MsgBox(48, "Fail", "Required item not found") EndFunc |
|
------- Отправлено: 15:39, 18-03-2008 | #289 |
![]() Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Creat0R , Maza Faka , спасибо .
Давно не мог решить проблему детектирования кликов . Интересно решение с использованием реестра. |
Отправлено: 16:01, 18-03-2008 | #290 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 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 |
|