|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
|
(*.*) Сообщения: 36572 |
Внимание! В связи с созданием отдельного форума по 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 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
А в чём проблема использовать более одной функции? . Ограничении вроде нет. |
|
------- Отправлено: 00:11, 21-01-2008 | #21 |
|
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Можно попутно еще вопрос ? Насколько я понял (для универсальной ф-ии в моем примере) одновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается. Для выявления двойного клика можно было бы выдержать паузу,но не останавливая работы скрипта. Как правильно это организовать? |
|
|
Отправлено: 04:38, 21-01-2008 | #22 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать gregaz
Цитата:
|
|
|
------- Отправлено: 07:02, 21-01-2008 | #23 |
|
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Эта функция сортировки работает только на ListView ,созданном внутренней ф-ей : GUICtrlCreateListView При создании ListView с помощбю UDF : _GUICtrlListView_Create - не хочет Тогда,как редактирование на месте - наоборот . Получаются вилы ? Цитата Maza Faka:
Надо выявить двойной клик на ListView items ,игнорируя первый (одинарный) одной и той же кнопкой мыши |
||
|
Последний раз редактировалось gregaz, 21-01-2008 в 08:36. Отправлено: 07:18, 21-01-2008 | #24 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
Цитата:
Когда мы кликаем два раза подряд (промежуточность установлена системой), то в ListView посылается сообщение $NM_DBLCLK, вот его и нужно улавливать (испол. WM_NOTIFY_EVENTS()). |
|
|
------- Отправлено: 08:59, 21-01-2008 | #25 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать gregaz
Цитата:
|
|
|
------- Отправлено: 09:55, 21-01-2008 | #26 |
|
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать упс два раза задал вопрос...
|
|
------- Отправлено: 10:21, 21-01-2008 | #27 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать kalikanzaros,
Цитата:
Цитата:
![]() P.S Shutdown(6) не завершает работу скрипта, пока компьютер будет перезапускаться, строчка с созданием ярлыка будет выполнена. |
||
|
------- Отправлено: 10:43, 21-01-2008 | #28 |
|
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Creat0R,
понятно спасибо, как я понимаю проблему должно решить добавление строки с "exit" после строки Shutdown(6) |
|
------- Отправлено: 10:57, 21-01-2008 | #29 |
|
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Вот попробовал накалякать LVSort позволяющюю и сортировать на ListView,созданном с помощью UDF
При этом сохраняется возможность редактирования на месте #include <GuiListView.au3>
#include <GuiImageList.au3>
$Gui = GUICreate("Test", 400, 250)
$hListView = _GUICtrlListView_Create($GUI, "Items|SubItems", 2, 2, 220, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT))
$hImage = _GUIImageList_Create (16,16,5);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 3);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 11);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 22);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 33);
_GUICtrlListView_SetImageList ($hListView, $hImage, 1)
$ListItem1 = _GUICtrlListView_AddItem($hListView, "Boris",0)
$ListItem2 = _GUICtrlListView_AddItem($hListView, "Anna",2)
$ListItem3 = _GUICtrlListView_AddItem($hListView, "Sveta",1)
$ListItem4 = _GUICtrlListView_AddItem($hListView, "Misha",3)
$ListSubItem1 = _GUICtrlListView_AddSubItem ($hListView, 0,'44', 1)
$ListSubItem2 = _GUICtrlListView_AddSubItem ($hListView, 1,'22', 1)
$ListSubItem3 = _GUICtrlListView_AddSubItem ($hListView, 2,'11', 1)
$ListSubItem4 = _GUICtrlListView_AddSubItem ($hListView, 3,'33', 1)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount ($hListView) ]
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
;------------------------------------------------------------------------------
Func LVSort($in)
$itN=_GUICtrlListView_GetItemCount($hListView)
$colN=_GUICtrlListView_GetColumnCount($hListView)
Dim $iArr[$itN][$colN+2]
For $ii=0 To $itN-1
$aItem=_GUICtrlListView_GetItem($hListView, $ii)
For $jj=0 To $colN-1
$iArr[$ii][$jj]=_GUICtrlListView_GetItemText($hListView, $ii,$jj)
$iArr[$ii][$jj+1]=$aItem[4]
Next
Next
_ArraySort( $iArr,'','','',$colN+1)
For $ii=0 To $itN-1
_ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] )
Next
_ArraySort( $iArr,0,0,0,$colN+1)
For $ii=0 To $itN-1
_ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] )
Next
_GUICtrlListView_DeleteAllItems($hListView)
For $ii=0 To $itN-1
_GUICtrlListView_AddItem($hListView,$iArr[$ii][0],$iArr[$ii][2])
For $jj=1 To $colN-1
_GUICtrlListView_AddSubItem ($hListView, $ii,$iArr[$ii][$jj], $jj)
Next
Next
EndFunc
;-----------------------------------------------------------------------------------
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$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 $LVN_COLUMNCLICK ; Клик по колонке
$aHit = _GuiCtrlListView_SubItemHitTest ($hWndListView)
LVSort($aHit[1])
Case $LVN_BEGINLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Return False
Case $LVN_ENDLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Цитата Creat0R:
|
|
|
Отправлено: 14:00, 21-01-2008 | #30 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| [архив - Часть 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 | |
|