View previous topic :: View next topic |
Author |
Message |
sa
Joined: 29 Apr 2009 Posts: 2693
|
(Separately) Posted: Tue Nov 03, 2009 23:28 Post subject: |
|
|
Avada wrote: | sa wrote: | Можно ещё короче:
TCS.SendKeystroke "+{TAB 5} " |
Не работает нигде. |
А пробел между } и " не пропущен случайно? |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10419 Location: Россия, Саратов
|
(Separately) Posted: Wed Nov 04, 2009 11:46 Post subject: |
|
|
sa wrote: | А пробел между } и " не пропущен случайно? |
Точно, пропущен. Да, теперь работает, спасибо. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2693
|
(Separately) Posted: Wed Nov 04, 2009 13:15 Post subject: |
|
|
Приведённый в исходном скрипте код {SPACE} для клавиши пробела, по моему, не существует вовсе.
Срабатывание в нём происходит за счёт обычного пробела между } и {.
Если хочется пробел сделать более заметным, можно использовать что-нибудь вроде
TCS.SendKeystroke "+{TAB 5}" & chr(32) |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Nov 04, 2009 15:39 Post subject: |
|
|
Quote: | код {SPACE} для клавиши пробела, по моему, не существует вовсе |
sa,
Я ещё репу чесал, почему работает: TCS.SendKeystroke "+{TAB 5} {SPACE}"
но не работает:
TCS.SendKeystroke "+{TAB 5}"
TCS.SendKeystroke "{SPACE}"
А сейчас заглянул в SendKeystroke.txt — нет там такой буквы! |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10419 Location: Россия, Саратов
|
(Separately) Posted: Wed Nov 04, 2009 17:53 Post subject: |
|
|
Tol!k
Quote: | В качестве кода клавиши, соответствующей печатному символу, используется сам символ.
<...>
Для описания нажатий клавиш, которые не отображаются на экране (например, ENTER или TAB) или вызывают выполнение определенных действий, следует использовать перечисленные ниже коды: |
А символ пробела-то на экране отображается! _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Nov 04, 2009 19:17 Post subject: |
|
|
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 |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10419 Location: Россия, Саратов
|
(Separately) Posted: Wed Nov 04, 2009 19:36 Post subject: |
|
|
Tol!k wrote: | Ну давай, давай, тычь меня носом в документацию
Сам-то не вспомнил, что надо писать TCS.SendKeystroke " " |
Ладно-ладно, все хороши, чего уж там.
Tol!k wrote: | А у всех остальных, похоже, и так всё хорошо работало |
А у меня где по самому первому варианту скрипта работало, там и с новыми вариантами работает, а где не работало — так и сейчас ничего не получается. Ладно, завтра буду дальше искать корень зла. Не вижу, хоть убей, разницы в настройках этой страницы. (Кстати, инверсные курсор/выделение я не использую.) _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Nov 04, 2009 19:57 Post subject: |
|
|
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 |
|
 |
mf-zl

Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Thu Nov 05, 2009 01:18 Post subject: |
|
|
Может кому будет интересен скрипт на ахк ?
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 |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10419 Location: Россия, Саратов
|
(Separately) Posted: Thu Nov 05, 2009 20:32 Post subject: |
|
|
Tol!k
На домашних компах нажатия отрабатываются правильно, последним действием галка ставится/снимается. На рабочем компе навигация идёт нормально, но состояние нужного чекбокса на последней стадии меняться не хочет. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
prog_san

Joined: 29 Sep 2007 Posts: 283 Location: Пенза
|
(Separately) Posted: Thu Nov 05, 2009 23:40 Post subject: |
|
|
Как ни крути, а нужна встроенная команда в TotalCommander, чтобы такие костыли не корячить ) Я думаю, Ghisler'у стоит еще раз напомнить про данную "хотелку" - может все таки реализует ... _________________ Errare humanum est |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10419 Location: Россия, Саратов
|
(Separately) Posted: Sat Aug 13, 2011 09:39 Post subject: |
|
|
На всякий случай (вдруг кому пригодится) сообщаю, что все мои попытки автоматизировать это дело на одной из машин VBS-скриптом (ни в одном из предложеных вариантов) так ни к чему и не привели, но скомпилированный с помощью AutoHotkey из приведённого выше AHK-скрипта экзешник заработал прекрасно. На том проблема и решилась. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Aug 13, 2011 15:01 Post subject: |
|
|
Code: | With CreateObject("WScript.Shell")
.Exec"%COMMANDER_PATH%\Utils\TCMC\TCMC.exe CM494"
WScript.Sleep 10 ' Не работает - увеличиваем число, пока не заработает
.SendKeys "+{TAB 5} ~"
End With | Путь указываем свой.
Самому отключение никогда не требуется. Не понимаю, зачем это надо... |
|
Back to top |
|
 |
|