Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Скрипты Autohotkey
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Aug 16, 2011 23:37    Post subject: Reply with quote

dude
В данном случае лучше использовать autorun с командой ShellExec и ключами /T и /W.
Back to top
View user's profile Send private message
mf-zl



Joined: 21 Aug 2005
Posts: 71
Location: BLR

Post (Separately) Posted: Wed Aug 17, 2011 03:31    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
dude



Joined: 21 Jan 2011
Posts: 11

Post (Separately) Posted: Wed Aug 17, 2011 04:29    Post subject: Reply with quote

mf-zl, чудеснейше, нет слов!
Победа?)
серьезно — гениальное решение проблемы

*думаю, стоит выложить "общую" версию
бинарник поместить в директорию рядом с TOTALCMD.EXE, через TCRun.exe и запускать
http://rghost.ru/18338991
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Aug 25, 2011 20:00    Post subject: Reply with quote

Кто подскажет, почему на 7-ке при запущенном TC не работает WinActivate с такой строкой
Code:
IfWinNotActive ahk_class TTOTAL_CMD
, а только с такой
Code:
if WinExist( "ahk_class TTOTAL_CMD" )

И почему клавиши, например, "#Tab::" приходится удерживать более секунды до появления окна? При быстром нажатии - игнор.
Версия - 1.0.48.05
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Oct 28, 2011 05:05    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Sun Jan 08, 2012 23:06    Post subject: Reply with quote

Можно ли отследить нажатие средней/правой/боковыми клавишами мыши по кнопкам панелей инструментов?
Отследить по координатам не получится - координаты разные в зависимости от размеров окна.
Остаются только всплывающие подсказки... но как их отследить?

Можно ли отследить нажатие правой/средней кнопки мыши по нижней панели или только можно по всей панели в целом?
Back to top
View user's profile Send private message
mf-zl



Joined: 21 Aug 2005
Posts: 71
Location: BLR

Post (Separately) Posted: Mon Jan 09, 2012 01:09    Post subject: Reply with quote

LonerD Думаю можно, а что конкретно вы хотите автоматизировать?
ЗЫ: Относительно окна координаты одинаковы! Исключение - большое количество кнопок и перенос их на вторую строку, а также перенос меню с большим количеством пунктов.

Code:
CoordMode, Mouse, Relative ; Coordinates are relative to the active window.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jan 09, 2012 05:27    Post subject: Reply with quote

mf-zl wrote:
Относительно окна координаты одинаковы!
Это с чего вдруг? Координаты в пикселях задаются, а не процентах, верно? Значит, относительно разноразмерных панелей будут разные позиции.
Back to top
View user's profile Send private message
mf-zl



Joined: 21 Aug 2005
Posts: 71
Location: BLR

Post (Separately) Posted: Mon Jan 09, 2012 10:37    Post subject: Reply with quote

Flasher Если очень надо можно ведь и запариться - прочитать из wincmd.ini размер значков панели и относительно его составить формулу... или нет ? Rolling Eyes
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jan 09, 2012 10:42    Post subject: Reply with quote

mf-zl
Уже парились и не раз. Wink Увы, шкурки винды диктуют своё, знание размеров кнопок не решает полностью проблему позиционирования, только частично.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Mon Jan 09, 2012 15:37    Post subject: Reply with quote

Quote:
Думаю можно, а что конкретно вы хотите автоматизировать?

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

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

А вот по поводу нижнего ряда кнопок (просмотр - редактирование - копирование - перемещение - новая папка - удаление - выход) - думаю, стоит попробовать. Кнопок всего семь штук, и они достаточно широкие при любом размере окна. Ради совместимости с разными шкурками можно самые крайние пиксели кнопок не обрабатывать.
Правда, моих познаний пока что вряд ли хватит для хватит для высчитывания относительных координат.
Думаю, такой скрипт был бы полезен многим:
Если кликаем левой кнопкой мыши по определённой кнопке нижнего ряда, то вызывается определённая cm_ или em_ команда, если правой - то другая, если средней - то третья.
Back to top
View user's profile Send private message
shveicar



Joined: 18 Apr 2011
Posts: 277
Location: Россия Москва

Post (Separately) Posted: Sun Mar 18, 2012 14:07    Post subject: Reply with quote

Здравствуйте.
Есть интересный скрипт касаемый средней копки мыши (или колеса)
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

Позволяет открывать для быстрого просмотра в панели, файла под курсором, причем для открытия и закрытия файла достаточно -один раз нажать на кнопку. Весьма удобно...
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Mar 18, 2012 14:35    Post subject: Reply with quote

Нажатие F3 вызывает не быстрый просмотр, а обычный. Я бы заменил на SendMessage c 903 для надёжности.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Sat Jul 28, 2012 22:24    Post subject: Reply with quote

Как сэмулировать нажатие вот этой кнопочки-скролла (и аналогичной кнопочки вверх) в активной панели?



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

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
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Jul 29, 2012 00:44    Post subject: Reply with quote

Мелькание убирается только явной сменой курсора фонового режима.

А что сложного в использовании обычного скролла мыши?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Page 4 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group