Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 122, 123, 124 ... 133, 134, 135  Next  :| |:
Total Commander -> Плагины Total Commander

#1831:  Author: LonerDLocation: Донецк PostPosted: Mon May 22, 2023 05:38
    —
Loopback wrote:
LonerD
проще через пользовательскую функцию (в бете):

Понял, спасибо.

А можно как-то сделать, чтобы шрифты, загруженные через Autorun, выгружались после закрытия Тотала, а не висели до перезагрузки ОС?
LoadFont /N System\Fonts\ArialMod.ttf
LoadFont /N System\Fonts\Anonymous.ttf

#1832:  Author: Loopback PostPosted: Mon May 22, 2023 19:26
    —
LonerD
По идее они и должны выгружаться, т.к. функция выгрузки загруженных шрифтов отрабатывает при выгрузке плагина. Я нашел прошлое обсуждение четыре года назад, вроде получается, что проблема появилась между версиями 2.0.2 и 2.0.7, хотя код функции между этими версиями не менялся. Единственное, скорее всего менялся компилятор, но я не вижу, как это может повлиять на работу функций WinAPI.

Ключ /N снимает флаг FR_PRIVATE у функции AddFontResourceEx, т.е. с этим ключом шрифт доступен не только процессу, но и в системе. Предположу, что какие-то системные процессы могут использовать этот шрифт, блокируя тем самым выгрузку.

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

#1833:  Author: LonerDLocation: Донецк PostPosted: Tue May 23, 2023 21:14
    —
Loopback wrote:
Ключ /N снимает флаг FR_PRIVATE у функции AddFontResourceEx, т.е. с этим ключом шрифт доступен не только процессу, но и в системе. Предположу, что какие-то системные процессы могут использовать этот шрифт, блокируя тем самым выгрузку.

Точно. У меня и Акелпад подгружает шрифты эти же, но из своего каталога. Видимо, в представлении ОС это всё перемешивается, потому блокируются заодно и подгруженные из Тотала файлы.
Убрал ключ /N - всё стало замечательно.

#1834:  Author: LonerDLocation: Донецк PostPosted: Wed May 31, 2023 03:27
    —
Можно ли через плагин посылать нажатия клавиш? MouseClick есть, а про клавиши что-то в справке не нахожу.
Цель - при нажатии средней кнопки мыши на панели инструментов посылать нажатие Ctrl+ЛКМ.

-------------
И второй вопрос.
ShowPopupMenu вызывается только через горячие клавиши/клики мыши? Его никак не повесить на em-команду? (кроме создания em-команды с эмуляцией нажатия соответствующих горячих клавиш)

#1835:  Author: Loopback PostPosted: Wed May 31, 2023 13:00
    —
LonerD
В планах есть, но не с самым высоким приоритетом, конкретно ничего не могу сказать. Пока только через запуск скрипта или чего-нибудь еще, умеющего посылать нажатия, типа tcfs2.

Quote:
Его никак не повесить на em-команду?

Можно, через SetMessageAction (у которой сейчас как раз проблемы с последней парой бет TC). В справке как раз показан пример такого использования, только вместо пользовательской функции можно использовать ShowPopupMenu:

Code:
SetMessageAction "MyMessage" ShowPopupMenu ...

#1836: ShowPopupMenu Author: yahuu PostPosted: Thu Jun 22, 2023 08:58
    —
How should I use the variables when calling ShowPopupMenu in the function?

ControlSetMouseAction /R /K:S 1 ShowMenu
Func ShowMenu()
file = "jpg.bar"
strbar = %COMMANDER_PATH% & "\USER\Typebar\" & %file%
# msgbox(strbar)

#failed
ShowPopupMenu %strbar%

#failed
ShowPopupMenu %COMMANDER_PATH%\USER\Typebar\%file%

#failed
ShowPopupMenu D:\Totalcmd\USER\Typebar\%file%

#successed
ShowPopupMenu %COMMANDER_PATH%\USER\Typebar\jpg.bar
EndFunc

#1837:  Author: Loopback PostPosted: Thu Jun 22, 2023 13:37
    —
yahuu
Yes, something wrong in how ShowPopupMenu handling path. Variables don't appear to be expanded, although a quick look at the code shows they should. So far you can use functional notation: ShowPopupMenu(strbar).

---

Да, что-то неправильно с тем, как ShowPopupMenu обрабатывает пути.
Похоже не разворачиваются переменные, хотя на первый взгляд в коде всё нормально. Пока можно использовать функциональную запись: ShowPopupMenu(strbar).

#1838:  Author: yahuu PostPosted: Thu Jun 22, 2023 20:11
    —
Loopback wrote:
yahuu
Yes, something wrong in how ShowPopupMenu handling path. Variables don't appear to be expanded, although a quick look at the code shows they should. So far you can use functional notation: ShowPopupMenu(strbar).

---

Да, что-то неправильно с тем, как ShowPopupMenu обрабатывает пути.
Похоже не разворачиваются переменные, хотя на первый взгляд в коде всё нормально. Пока можно использовать функциональную запись: ShowPopupMenu(strbar).



Thank you
ShowPopupMenu(strbar) can popup the menu now
But it will often show only part of it, see the attachment

This problem occurs when using .bar format files
Not appearing for now with .mnu format files

Sorry,Because I'm a new user, I can't post links to pictures...
http://mjj.today/i/ICS0Ty

 !  CaptainFlint:
The link is now working.

Оживил ссылку.

#1839:  Author: Loopback PostPosted: Fri Jun 23, 2023 01:08
    —
yahuu
Interesting. I can't reproduce it on my files. Would be good if you place your affected barfile somewere, so I can test it.

---

Интересно, но на моих файлах не воспроизводится. Было бы неплохо увидеть проблемный файл.

#1840:  Author: yahuu PostPosted: Fri Jun 23, 2023 09:24
    —
Loopback wrote:
yahuu
Interesting. I can't reproduce it on my files. Would be good if you place your affected barfile somewere, so I can test it.

---

Интересно, но на моих файлах не воспроизводится. Было бы неплохо увидеть проблемный файл.


I sent the bar file to your email loopback(at)darkhost.ru

#1841:  Author: LonerDLocation: Донецк PostPosted: Sat Jun 24, 2023 20:00
    —
Запускается несколько копий настроенного Total Commander c плагином Autorun.
В Autorun прописан запуск программы. Закрываю одну копию TC - программа тоже выгружается.
Можно ли это как-то реализовать на уровне параметров запуска в плагине или другими способами, чтобы она выгружалась только если закрыта последняя копия запущенного процесса TC? То есть пока работает хоть один ТС - программа должна висеть резидентно и работать.

#1842:  Author: Loopback PostPosted: Sun Jun 25, 2023 01:12
    —
LonerD
На уровне параметров нет, не получится.

Я вижу только один способ: в секции финализации проверять наличие хотя бы одного окна тотала. Если окон не осталось, выгружать программу.

Для максимальной простоты, можно, например, сделать макрос, возвращающий число существующих окон тотала (именно окон, не процессов), если оно 0 - можно выгружать. Минус такого решения - оно сугубо под одну задачу, зачем еще где-то может понадобиться число окон?

Либо проверять наличие окна с помощью функции поиска окон. Её пока нет, но планируется. Не сильно сложнее, но гибче.

#1843:  Author: LonerDLocation: Донецк PostPosted: Mon Jun 26, 2023 00:37
    —
Loopback wrote:
можно, например, сделать макрос, возвращающий число существующих окон тотала (именно окон, не процессов), если оно 0 - можно выгружать. Минус такого решения

Понял. Учитывая, что программа-скрипт своя, то мне пока проще и надёжней в ней прописать таймер проверки окон.
В обеих случаях минус в том, что могут быть запущены ещё и сторонние копии Тотала. А хотелось бы выгружать программу только в том случае, если она закрыто последнее окно именно "своего" Тотала (в котором прописан автозапуск программы).

#1844:  Author: Skif_off PostPosted: Fri Jun 30, 2023 16:09
    —
LonerD
У себя обычно типа такого делал, т.е. не ищем окно ТС, а берём родительский процесс и ищем окно этого процесса.

#1845:  Author: Loopback PostPosted: Fri Jun 30, 2023 23:31
    —
Skif_off
В принципе, если стоит Autorun, то и искать ничего не нужно, т.к. он возвращает PID и хэндл окна текущего процесса, можно их сразу в скрипте использовать. Но насколько я понимаю, тут несколько другая задача, поскольку есть условие "последнее окно именно "своего" Тотала". Т.е. тут надо "помечать" окно тотала, в котором выполняется Autorun, запускающий это приложение, а при выходе проверять только помеченные окна.



Total Commander -> Плагины Total Commander


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

Goto page Previous  1, 2, 3 ... 122, 123, 124 ... 133, 134, 135  Next  :| |:
Page 123 of 135

Powered by phpBB © 2001, 2005 phpBB Group