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 

Отключение "Define colors by type" с кнопки
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Tue Nov 03, 2009 23:28    Post subject: Reply with quote

Avada wrote:
sa wrote:
Можно ещё короче:
TCS.SendKeystroke "+{TAB 5} "

Не работает нигде.

А пробел между } и " не пропущен случайно?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10419
Location: Россия, Саратов

Post (Separately) Posted: Wed Nov 04, 2009 11:46    Post subject: Reply with quote

sa wrote:
А пробел между } и " не пропущен случайно?

Точно, пропущен. Да, теперь работает, спасибо.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Wed Nov 04, 2009 13:15    Post subject: Reply with quote

Приведённый в исходном скрипте код {SPACE} для клавиши пробела, по моему, не существует вовсе.
Срабатывание в нём происходит за счёт обычного пробела между } и {.
Если хочется пробел сделать более заметным, можно использовать что-нибудь вроде
TCS.SendKeystroke "+{TAB 5}" & chr(32)
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Nov 04, 2009 15:39    Post subject: Reply with quote

Quote:
код {SPACE} для клавиши пробела, по моему, не существует вовсе

sa,
Я ещё репу чесал, почему работает: TCS.SendKeystroke "+{TAB 5} {SPACE}"
но не работает:
TCS.SendKeystroke "+{TAB 5}"
TCS.SendKeystroke "{SPACE}"

А сейчас заглянул в SendKeystroke.txt — нет там такой буквы!
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10419
Location: Россия, Саратов

Post (Separately) Posted: Wed Nov 04, 2009 17:53    Post subject: Reply with quote

Tol!k
Quote:
В качестве кода клавиши, соответствующей печатному символу, используется сам символ.
<...>
Для описания нажатий клавиш, которые не отображаются на экране (например, ENTER или TAB) или вызывают выполнение определенных действий, следует использовать перечисленные ниже коды:

А символ пробела-то на экране отображается!
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Nov 04, 2009 19:17    Post subject: Reply with quote

Avada
Ну давай, давай, тычь меня носом в документацию :)
Сам-то не вспомнил, что надо писать TCS.SendKeystroke " "
А у всех остальных, похоже, и так всё хорошо работало :D
Quote:
А символ пробела-то на экране отображается!

А в UnpackHere.vbs Volniy пишет :
TCS.SendKeystroke chr(32)


Last edited by Tol!k on Wed Nov 04, 2009 19:37; edited 1 time in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10419
Location: Россия, Саратов

Post (Separately) Posted: Wed Nov 04, 2009 19:36    Post subject: Reply with quote

Tol!k wrote:
Ну давай, давай, тычь меня носом в документацию Smile
Сам-то не вспомнил, что надо писать TCS.SendKeystroke " "

Ладно-ладно, все хороши, чего уж там.

Tol!k wrote:
А у всех остальных, похоже, и так всё хорошо работало

А у меня где по самому первому варианту скрипта работало, там и с новыми вариантами работает, а где не работало — так и сейчас ничего не получается. Ладно, завтра буду дальше искать корень зла. Не вижу, хоть убей, разницы в настройках этой страницы. (Кстати, инверсные курсор/выделение я не использую.)
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Nov 04, 2009 19:57    Post subject: Reply with quote

Avada wrote:
где не работало — так и сейчас ничего не получается. Ладно, завтра буду дальше искать корень зла.

Замени код этим:
' Перейти к галочке отключения раскраски файлов, изменить ее значение
TCS.Pause = 800
TCS.SendKeystroke "+{TAB}"
TCS.SendKeystroke "+{TAB}"
TCS.SendKeystroke "+{TAB}"
TCS.SendKeystroke "+{TAB}"
TCS.SendKeystroke "+{TAB}"
TCS.SendKeystroke chr(32)

и посмотри как отрабатываются нажатия
Back to top
View user's profile Send private message
mf-zl



Joined: 21 Aug 2005
Posts: 71
Location: BLR

Post (Separately) Posted: Thu Nov 05, 2009 01:18    Post subject: Reply with quote

Может кому будет интересен скрипт на ахк ? Wink

Code:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *  Project : TC > Toggle "Define colors by file type" option                  *
 *   Author : Mad*Forces / ZeLen1y (zl@mail.by)                                *
 * Compiler : AutoHotkey 1.0.48.5 (www.autohotkey.com)                         *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                                                                               */
#NoEnv
#NoTrayIcon
#SingleInstance force

SetBatchLines, -1
SetControlDelay, -1
SetWinDelay, -1

If WinActive("ahk_class TTOTAL_CMD")
{ PostMessage, 1075, 494, 0,, ahk_class TTOTAL_CMD
  WinWait, ahk_class TDLGCONFIGALL,, 3
  If !ErrorLevel
  { ControlGet, _d, Checked,, TCheckBox2, ahk_class TDLGCONFIGALL
    Control, % (_d ? "Un" : "") "Check", % !_d, TCheckBox2, ahk_class TDLGCONFIGALL
    ControlClick, TButton37, ahk_class TDLGCONFIGALL
  }
}
ExitApp
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10419
Location: Россия, Саратов

Post (Separately) Posted: Thu Nov 05, 2009 20:32    Post subject: Reply with quote

Tol!k
На домашних компах нажатия отрабатываются правильно, последним действием галка ставится/снимается. На рабочем компе навигация идёт нормально, но состояние нужного чекбокса на последней стадии меняться не хочет.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
prog_san



Joined: 29 Sep 2007
Posts: 283
Location: Пенза

Post (Separately) Posted: Thu Nov 05, 2009 23:40    Post subject: Reply with quote

Как ни крути, а нужна встроенная команда в TotalCommander, чтобы такие костыли не корячить Smile) Я думаю, Ghisler'у стоит еще раз напомнить про данную "хотелку" - может все таки реализует ...
_________________
Errare humanum est
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10419
Location: Россия, Саратов

Post (Separately) Posted: Sat Aug 13, 2011 09:39    Post subject: Reply with quote

На всякий случай (вдруг кому пригодится) сообщаю, что все мои попытки автоматизировать это дело на одной из машин VBS-скриптом (ни в одном из предложеных вариантов) так ни к чему и не привели, но скомпилированный с помощью AutoHotkey из приведённого выше AHK-скрипта экзешник заработал прекрасно. На том проблема и решилась.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sat Aug 13, 2011 15:01    Post subject: Reply with quote

Code:
With CreateObject("WScript.Shell")
  .Exec"%COMMANDER_PATH%\Utils\TCMC\TCMC.exe CM494"
  WScript.Sleep 10 ' Не работает - увеличиваем число, пока не заработает
  .SendKeys "+{TAB 5} ~"
End With
Путь указываем свой.

Самому отключение никогда не требуется. Не понимаю, зачем это надо...
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
Page 2 of 2

 
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