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 

Autorun
Goto page Previous  1, 2, 3 ... 120, 121, 122 ... 130, 131, 132  Next
 
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: 2563

Post (Separately) Posted: Mon Oct 03, 2022 21:15    Post subject: Reply with quote

Loopback wrote:
- Tweaks: исправлена работа модификатора Alt в SetHotkeyAction

Подтверждаю: комбинации с Alt заработали.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Oct 04, 2022 15:09    Post subject: Reply with quote

imig73
Спасибо. По закачке, видимо проблемы все же у конкретной программы, попробовал тем, что стояло (FDM) - качает без проблем. Да и 500кб, думаю, сейчас не так сложно скачать без загрузчика.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Wed Oct 05, 2022 16:16    Post subject: Reply with quote

Loopback

Спасибо за исправления! Я опять с простынёй, прошу снисходительности.

SetHotkeyAction в отношении прошлых замеченных шероховатостей теперь работает без запинки. Но срабатывает только КЗ:
Code:
SetHotkeyAction /K:C /K:S /H:N MsgBox "Message received"

А вот так не срабатывает:
Code:
SetHotkeyAction /K:C /K:S /H:N MsgBox("Message received")

Может так и должно быть?

SetMessageAction. Пример из справки
Code:
Func MyMessageFunc()
  MsgBox "Сообщение получено"
EndFunc
SetMessageAction 55555 MyMessageFunc

в связке с вызовом из TCFS2, вызываю кнопкой
Code:
TOTALCMD#BAR#DATA
%TCFS2%
/ef "msg(55555, 0, 0)"
%COMMANDER_ICONS%\bars.outline.software.dll,5
Debug SetMessageAction


-1

В 32-бит срабатывает только самый первый вызов: MsgBox появляется. При последующих вызовах MsgBox не появляется. И так до перезагрузки Windows. После перезагрузки опять 1й срабатывает, остальные нет.
При помощи au3-скрипта (из справки) я также пробовал вызвать: тот же результат.

А на 64-бит вызывает ошибку:
Code:
[284] SetMessageAction 55555 MyMessageFunc
Missing closing quote for string:


Следующий момент: если возможно, подскажите, пожалуйста, алгоритм действий. В TWinkey есть такая ф-ция NextQuickView, вот её описание:

Quote:
Быстрый просмотр со следующим плагином
Чтобы при быстром просмотре в TC выбрать для файла под курсором следующий подходящий LS-плагин, приходится сначала переместить фокус из файловой панели в окно быстрого просмотра (на месте другой файловой панели), там нажать один или несколько раз клавишу 4, а для продолжения навигации по файлам снова вернуться в исходную панель. Предлагаемая функция позволяет во время быстрого просмотра переключаться с клавиатуры (например, той же клавишей 4) на другой подходящий плагин внутреннего просмотрщика, не покидая исходной файловой панели. Способ вызова команды NextQuickView определите на странице Клавиши и команды.


Я хочу попытаться средствами Autorun сделать подобное. Пока попытки не увенчались успехом. А делал я вот что: при помощи Spy++ посмотрел Message, высылаемый окну TC при нажатии 4 в QuickView. Получил:
Code:
S message:0x046A [User-defined:WM_USER+106] wParam:075BC371 lParam:0013EC80

безуспешно попытался воспроизвести:
Code:
# пробовал по отдельности, и КЗ
SetHotkeyAction /K:C /K:S /H:N SendMessage %AUTORUN_TCHANDLE% 046A 075BC371 0013EC80
# и ФЗ
SetHotkeyAction /K:C /K:S /H:N SendMessage(%AUTORUN_TCHANDLE%, 046A, 075BC371, 0013EC80)

Я понимаю, что как школьник вслепую тыкаю )) Но с другой стороны, лучше так, чем вообще никак. Подскажите, пожалуйста, правильно ли двигаюсь?
Чтобы хоть как-то разобраться, я попытался выслать Message при помощи TCFS2. На параметры "046A, 075BC371, 0013EC80" он заругался, а принял их пересчёт в Dec:
Code:
tcfs2.exe /ef "msg(1130, 123454321, 1305728)"

При вызове кнопкой этой команды в панели QuickView меняется заголовок (на кракозябр), т.е. видно, что что-то там передаётся и даже куда-то попадает, но не туда и не то, что нужно )) Из Autorun же вообще ничего не происходит.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Wed Oct 05, 2022 20:42    Post subject: Reply with quote

yozhik wrote:
А вот так не срабатывает:


Так получается смешивается КЗ с ФЗ. Если нужно именно в ФЗ выражение, придется через Eval:

Code:
SetHotkeyAction /K:C /K:S /H:N Eval 'MsgBox("Message received")'


yozhik wrote:
В 32-бит срабатывает только самый первый вызов: MsgBox появляется. При последующих вызовах MsgBox не появляется. И так до перезагрузки Windows. После перезагрузки опять 1й срабатывает, остальные нет.

У меня это выглядит по-другому, но да, тут баг.
yozhik wrote:
А на 64-бит вызывает ошибку:

У меня не появляется, но скорее всего это связано с тем же. И вот это:
Quote:
В 32-бит работает до N раза. Нажимаю — открывает окно Конфигурация, как и должен.

вероятно тоже.

yozhik wrote:
что что-то там передаётся и даже куда-то попадает, но не туда и не то, что нужно

Скорее всего так не получится, по значениям wParam:075BC371 lParam:0013EC80 видно, что передаются какие-то указатели - структуры, строки или еще что-нибудь. Если еще раз получить сообщение с Spy++, они скорее всего будут другие. Так что мало отправить сообщение, надо точно знать, какие данные передаются. Хотя, даже если это будет точно известно, в Autorun нет возможности работать со структурами и не уверен что она появится.

Простейший способ представляется отправка нажатий клавиш, например скриптом Autoit:

Code:

Send("{TAB}4{TAB}")


Возможно, Send будет добавлен в Autorun, но пока только так.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Oct 12, 2022 14:14    Post subject: Reply with quote

В Win10 Pro, TC 10.51x64 возникла проблема с закрытием окон TC, запущенных отдельным процессом. Можно проверить, вызвав поиск отдельным процессом (Alt+Shift+F7). При попытке закрытия окна появляется сообщение "(Не отвечает)". Воспроизводится, начиная с 2.2.8_beta. Причём в TC x32 всё нормально. Может кто-то подтвердить, или проблема только у меня?

P.S. Показалось, что вызывать поиск надо из папки самого запущенного тотала.


Last edited by sa on Wed Oct 12, 2022 18:33; edited 1 time in total
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 227

Post (Separately) Posted: Wed Oct 12, 2022 15:34    Post subject: Reply with quote

sa
Подтверждаю, у меня такое же поведение на win7x64, TC10.51x64 (ровно как и TC10.52rc2x64), Autorun 2.2.8_beta.
При Autorun 2.2.7 - все нормально.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Oct 12, 2022 15:49    Post subject: Reply with quote

Monarch-LFV
Да, в TC10.52rc2 у меня всё также, как в TC10.51, хотя поначалу полагал, что проблема в новой версии тотала.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Wed Oct 12, 2022 15:54    Post subject: Reply with quote

sa
Так же подтверждаю и с Win10 21H2 (TC10.52rc2x64), Autorun 2.2.8_beta
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 346

Post (Separately) Posted: Wed Oct 12, 2022 21:03    Post subject: Reply with quote

sa wrote:
В Win10 Pro, TC 10.51x64 возникла проблема с закрытием окон TC, запущенных отдельным процессом. Можно проверить, вызвав поиск отдельным процессом (Alt+Shift+F7). При попытке закрытия окна появляется сообщение "(Не отвечает)". Воспроизводится, начиная с 2.2.8_beta. Причём в TC x32 всё нормально. Может кто-то подтвердить, или проблема только у меня?

P.S. Показалось, что вызывать поиск надо из папки самого запущенного тотала.

У себя такое не воспроизвёл.
TC 10.51 combo, Win10 x64 21H2 19044.2075
_________________
TC 11.03 combo, Windows 10 x64
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Wed Oct 12, 2022 22:48    Post subject: Reply with quote

У меня как-то не особо проявляется, но причина вроде достаточно очевидна. Тут пока версия с исправлением, следующая версия будет позже.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Oct 12, 2022 23:17    Post subject: Reply with quote

Loopback wrote:
Тут пока версия с исправлением

Помогло! Ранее выскакивавшее при некоторых условиях сообщение об ошибке (а-ля "Runtime error 204 at 000000000AA74B42") при запуске отдельными процессами синхронизации каталогов или сравнения по содержимому также исчезло. Спасибо!
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Wed Oct 12, 2022 23:24    Post subject: Reply with quote

Loopback
Во, поиск файлов отдельным процессом виснуть перестал. Оперативно, благодарю!
До исправления не модальные окна висли постоянно.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 227

Post (Separately) Posted: Thu Oct 13, 2022 03:11    Post subject: Reply with quote

sa
Quote:
при запуске отдельными процессами синхронизации каталогов

Сорри за оффтоп. Что-то упустил я этот момент, а как вы запускаете синхронизацию каталогов отдельным процессом? Вроде бы параметров для нее нет, и окно модальное.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Thu Oct 13, 2022 04:16    Post subject: Reply with quote

Monarch-LFV
С помощью параметра командной строки:
Quote:
/S=S     Запускает отдельным процессом инструмент синхронизации каталогов без открытия основного окна TC. В параметрах командной строки можно указать либо непосредственно два пути, либо шаблон в форме /S=S:имя_шаблона
Если параметр начинается со знака равенства "=" (например, /S=S:=имя_шаблона), сравнение начнётся сразу после открытия диалога. Если знак равенства указан без имени шаблона (т. е. /S=S:=), то для сравнения будут взяты каталоги, переданные через командную строку, и последние использовавшиеся настройки.
Примеры:
%commander_exe% /S=S:=имя_шаблона
%commander_exe% /S=S:= "c:\Dir1" "d:\Dir2"
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Thu Oct 13, 2022 05:27    Post subject: Reply with quote

Monarch-LFV
Code:
[em_SyncStandalone]
button=wcmicons.dll,48
cmd=%COMMANDER_EXE%
menu=Синхронизация каталогов отдельным процессом
param=/S=S "%X%P" "%T"
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 ... 120, 121, 122 ... 130, 131, 132  Next
Page 121 of 132

 
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