Скрипты Autohotkey
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Total Commander -> Автоматизация Total Commander

#46:  Author: FlasherLocation: Москва PostPosted: Tue Aug 16, 2011 23:37
    —
dude
В данном случае лучше использовать autorun с командой ShellExec и ключами /T и /W.

#47:  Author: mf-zlLocation: BLR PostPosted: Wed Aug 17, 2011 03:31
    —
dude вариант без батника:
Code:
#Persistent
#NoTrayIcon
#SingleInstance force
SetTimer, NoConfirm, 0
RunWait, TOTALCMD.EXE
ExitApp
NoConfirm:
  WinWait, ahk_class TInpComboDlg,, 1
  ControlSend, TButton5, {Enter}, ahk_class TInpComboDlg
Return

#48:  Author: dude PostPosted: Wed Aug 17, 2011 04:29
    —
mf-zl, чудеснейше, нет слов!
Победа?)
серьезно — гениальное решение проблемы

*думаю, стоит выложить "общую" версию
бинарник поместить в директорию рядом с TOTALCMD.EXE, через TCRun.exe и запускать
http://rghost.ru/18338991

#49:  Author: FlasherLocation: Москва PostPosted: Thu Aug 25, 2011 20:00
    —
Кто подскажет, почему на 7-ке при запущенном TC не работает WinActivate с такой строкой
Code:
IfWinNotActive ahk_class TTOTAL_CMD
, а только с такой
Code:
if WinExist( "ahk_class TTOTAL_CMD" )

И почему клавиши, например, "#Tab::" приходится удерживать более секунды до появления окна? При быстром нажатии - игнор.
Версия - 1.0.48.05

#50:  Author: FlasherLocation: Москва PostPosted: Fri Oct 28, 2011 05:05
    —
790 wrote:
Команды cm_GotoPreviousLocalDir и cm_GotoNextLocalDir прекрасно работают на клаве (у меня назначены на стрелки влево/вправо) и пропускают FTP-соединения, как положено.
Но у меня ещё есть на мышке доп. боковые кнопки, которые также переключают пред/след папки и уже так привык с ними работать, что без них и мыши не представляю.
...
может быть, вопрос уже как-то решён по другому?

Code:
#SingleInstance force
#NoTrayIcon
#IfWinActive ahk_class TTOTAL_CMD

*$XButton1::
SendMessage, 0x433, 573,,, ahk_class TTOTAL_CMD
Return

*$XButton2::
SendMessage, 0x433, 574,,, ahk_class TTOTAL_CMD
Return

#51:  Author: LonerDLocation: Донецк PostPosted: Sun Jan 08, 2012 23:06
    —
Можно ли отследить нажатие средней/правой/боковыми клавишами мыши по кнопкам панелей инструментов?
Отследить по координатам не получится - координаты разные в зависимости от размеров окна.
Остаются только всплывающие подсказки... но как их отследить?

Можно ли отследить нажатие правой/средней кнопки мыши по нижней панели или только можно по всей панели в целом?

#52:  Author: mf-zlLocation: BLR PostPosted: Mon Jan 09, 2012 01:09
    —
LonerD Думаю можно, а что конкретно вы хотите автоматизировать?
ЗЫ: Относительно окна координаты одинаковы! Исключение - большое количество кнопок и перенос их на вторую строку, а также перенос меню с большим количеством пунктов.

Code:
CoordMode, Mouse, Relative ; Coordinates are relative to the active window.

#53:  Author: FlasherLocation: Москва PostPosted: Mon Jan 09, 2012 05:27
    —
mf-zl wrote:
Относительно окна координаты одинаковы!
Это с чего вдруг? Координаты в пикселях задаются, а не процентах, верно? Значит, относительно разноразмерных панелей будут разные позиции.

#54:  Author: mf-zlLocation: BLR PostPosted: Mon Jan 09, 2012 10:37
    —
Flasher Если очень надо можно ведь и запариться - прочитать из wincmd.ini размер значков панели и относительно его составить формулу... или нет ? Rolling Eyes

#55:  Author: FlasherLocation: Москва PostPosted: Mon Jan 09, 2012 10:42
    —
mf-zl
Уже парились и не раз. Wink Увы, шкурки винды диктуют своё, знание размеров кнопок не решает полностью проблему позиционирования, только частично.

#56:  Author: LonerDLocation: Донецк PostPosted: Mon Jan 09, 2012 15:37
    —
Quote:
Думаю можно, а что конкретно вы хотите автоматизировать?

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

Кинул на оф.форуме предложение встроить непосредственно в Тотал функционал нажатия средней кнопки на кнопках панели.

А вот по поводу нижнего ряда кнопок (просмотр - редактирование - копирование - перемещение - новая папка - удаление - выход) - думаю, стоит попробовать. Кнопок всего семь штук, и они достаточно широкие при любом размере окна. Ради совместимости с разными шкурками можно самые крайние пиксели кнопок не обрабатывать.
Правда, моих познаний пока что вряд ли хватит для хватит для высчитывания относительных координат.
Думаю, такой скрипт был бы полезен многим:
Если кликаем левой кнопкой мыши по определённой кнопке нижнего ряда, то вызывается определённая cm_ или em_ команда, если правой - то другая, если средней - то третья.

#57:  Author: shveicarLocation: Россия Москва PostPosted: Sun Mar 18, 2012 14:07
    —
Здравствуйте.
Есть интересный скрипт касаемый средней копки мыши (или колеса)
Code:

MButton::
   MouseGetPos, , , id
   WinGetClass, class, ahk_id %id%
   if (class = "TTOTAL_CMD")
   {
      Mouseclick
      Send {F3}
   }
   else if (class = "TLister")
   {
      Mouseclick
      Send {Esc}
   }
   else
      Mouseclick, Middle
return
F12:: ExitApp

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

#58:  Author: FlasherLocation: Москва PostPosted: Sun Mar 18, 2012 14:35
    —
Нажатие F3 вызывает не быстрый просмотр, а обычный. Я бы заменил на SendMessage c 903 для надёжности.

#59:  Author: LonerDLocation: Донецк PostPosted: Sat Jul 28, 2012 22:24
    —
Как сэмулировать нажатие вот этой кнопочки-скролла (и аналогичной кнопочки вверх) в активной панели?



Цель - повесить на пользовательскую команду (хоткей) скрипт скролла панели с сохранением положения курсора относительно верхней границы панели.
При нажатии на хоткей должно эмулироваться нажатие указанной кнопки в активной панели (список файлов прокручивается на одну позицию вниз), плюс курсор в активной панели смещается на одну позицию вниз (эмуляция нажатия кнопки вниз на клавиатуре). Если файлов на панели мало и скролла нет - ничего не происходит.
И аналогично - нажатия скролла вверх + смещение позиции курсора на одно деление вверх.

Posted after 50 minutes:

Сам себе и отвечу Laughing

Code:
; Scroll up by one line (for a control that has a vertical scroll bar):
ControlGetFocus, control, A
SendMessage, 0x115, 0, 0, %control%, A
SendEvent {UP}

; Scroll down by one line:
ControlGetFocus, control, A
SendMessage, 0x115, 1, 0, %control%, A
SendEvent {DOWN}


Остальное, думаю не составит труда реализовать.
Пока только не понял - как убрать мелькание песочных часиков (ожидание выполнения) возле мышиного курсора при выполнении вышеуказанных команд.


Last edited by LonerD on Sun Jul 29, 2012 04:29; edited 1 time in total

#60:  Author: FlasherLocation: Москва PostPosted: Sun Jul 29, 2012 00:44
    —
Мелькание убирается только явной сменой курсора фонового режима.

А что сложного в использовании обычного скролла мыши?



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Page 4 of 7

Powered by phpBB © 2001, 2005 phpBB Group