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 ... 199, 200, 201, 202, 203, 204  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Orion9



Joined: 01 Jan 2024
Posts: 838

Post (Separately) Posted: Sat Sep 06, 2025 00:42    Post subject: Reply with quote

Loopback
Помнится, делал корректировку на масштабирование экрана в подсказке к главной панели инструментов несколько страниц назад, тогда использовал такой метод:
Code:
    # дескриптор монитора окна ТС
    Local hMon = DllCall("MonitorFromWindow", "hwnd", AUTORUN_TCHANDLE, "dword", 2)
    # информация о масштабировании экрана
    Local nScale = 0, bRes
    bRes = DllCall("Shcore.dll\GetScaleFactorForMonitor", "hwnd", hMon, "dword*", @nScale)

Но предложенные вами функции выглядят более основательно, поэтому буду использовать их. Слышал, что для полноты картины нужно ещё учитывать размер текста, который пользователь тоже может увеличить в настройках системы в разделе специальных возможностей. Один из способов - чтение значения из реестра:
Code:
RegRead nTextScale "HKCU\Software\Microsoft\Accessibility" "TextScaleFactor" 100
    nTextScale = Round(nTextScale/100,2)

Далее умножить полученный коэффициент на необходимое значение, т.е.
Code:
h_WinShutdown = DllCall("CreateWindowExW", _
                            "dword", 0, _
                            "wstr", "msctls_progress32", _
                            "wstr", "", _
                            "dword", 0x10C80000, _
                            "int", 200, "int", 100, "int", Round(Scale(300)*nTextScale,0), "int", Scale(50), _
                            "handle", AUTORUN_TCHANDLE, _
                            "handle", 0, "handle", 0, "ptr", 0, _
                            "handle")

В общем, вот полный обновленный код всего, что ранее было, включая две разные функции для получения значения масштабирования:
 Hidden text

Loopback wrote:
В каком смысле затенить?

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

A55555 wrote:
Но этому окну отсчета напрашивается отображение поверх всех окон.

Наверное, можно. Надо глянуть. Может, автор плагина ответ уже знает?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1611

Post (Separately) Posted: Sat Sep 06, 2025 11:56    Post subject: Reply with quote

Orion9 wrote:
тогда использовал такой метод

Понятно, что некоторые вещи можно сделать разными способами. Эта функция дает масштаб в процентах. Наверно и из нее можно пересчитать, но я ей не пользовался. Тут еще минус, что она появилась только в Win 8.1.

Orion9 wrote:
для полноты картины нужно ещё учитывать размер текста

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

Orion9 wrote:
Как было в ХР при выключении системы

Понял. Я не помню, чтобы встречал стандартную функцию для этого. Эффект скорее всего можно повторить с помощью GDI+ (сделать скриншот и обесцветить изображение), но сомневаюсь, что оно того стоит.

Orion9 wrote:
Может, автор плагина ответ уже знает?

WinSetState(30, h_WinShutdown)

 Hidden text
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 838

Post (Separately) Posted: Sat Sep 06, 2025 13:31    Post subject: Reply with quote

A55555 wrote:
аж захотелось на постоянно добавить окну TC прозрачности немного.

Как-то вчера прошел мимо этого комментария, а ведь Autorun очень легко может это сделать, даже пугающе легко. Я бы сказал, он создан для таких задач:
Code:
# Ctrl+Alt+"+"
# увеличение прозрачности окна ТС
SetHotkeyAction /K:C /K:A /V:187 /R /DM SetTransparency 1
# Ctrl+Alt+"-"
# уменьшение прозрачности окна ТС
SetHotkeyAction /K:C /K:A /V:189 /R /DM SetTransparency 2

SetTransparency(0)

Func SetTransparency(nAction)
    Local transp, flags
    If nAction = 0 Then       
       IniRead transp %COMMANDER_INI% "Autorun" "Transparency" 255
       If transp >= 100 And transp < 255 Then
          WinSetStyle(0x80000, 3)
          DllCall("SetLayeredWindowAttributes", "hwnd", AUTORUN_TCHANDLE, _
                                         "ptr", 0, "byte", transp, "dword", 2)
          Return
       EndIf
    EndIf   
    If Not WinHasStyle(0x80000, 1) Then WinSetStyle(0x80000, 3)
    If Not DllCall("GetLayeredWindowAttributes", "hwnd", AUTORUN_TCHANDLE, _
                                          "ptr", 0, "byte*", @transp, "dword*", @flags) Then
       ShowHint("Error getting transparancy value")
       WinSetStyle(0x80000, 5)
       Return
    EndIf
    If transp = 0 Then transp = 255
    If nAction = 1 Then transp += 1
    If nAction = 2 Then transp -= 1
    If transp < 100 Then transp = 100
    If transp > 255 Then transp = 255   
    ShowHint("Transparency: " & transp, "", "", 1000)           
    DllCall("SetLayeredWindowAttributes", "hwnd", AUTORUN_TCHANDLE, _
                                          "ptr", 0, "byte", transp, "dword", 2)
    If transp = 255 Then WinSetStyle(0x80000, 5)
    IniWrite %COMMANDER_INI% "Autorun" "Transparency" %transp%   
EndFunc                                         

Хотел ограничиться несколькими строками для демонстрации, но потом понял, что без сохранения в ini это будет "не торт", поэтому пришлось доделать.

A55555, если вы поставили Autorun, посмотрите еще пример сворачивания в трей в справке, напоминает чем-то изменение прозрачности.

Loopback wrote:
Тут еще минус, что она появилась только в Win 8.1

Да, я видел это ограничение. Но с другой стороны, возможность масштабировать экран из настроек Windows появилась не только с Win8?
Loopback wrote:
Но если пользователь ещё значительно увеличит шрифт, то да, может и не уместиться.

Как я понял, это довольно редкий случай, поэтому и находится он в разделе "Специальные возможности". Но по идее его тоже нужно учитывать и держать в голове. Не уверен, правда, что для функционала Autorun это является актуальным.
Loopback wrote:
WinSetState(30, h_WinShutdown)

Работает, но отчасти. Наверное, для полноты картины нужно AUTORUN_TCHANDLE снять с владельца. Кстати, вот действительно полный код для тех, кто будет пользоваться или развивать его дальше, в предыдущий раз я как всегда забыл про "шапку":
 Hidden text

Loopback wrote:
Надо же, уже 200 страниц наговорили

Успокойтесь, сэр. Мы только начали )
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 31

Post (Separately) Posted: Sun Sep 07, 2025 00:18    Post subject: Reply with quote

Orion9 wrote:
Работает, но отчасти. Наверное, для полноты картины нужно AUTORUN_TCHANDLE снять с владельца. Кстати, вот действительно полный код для тех, кто будет пользоваться или развивать его дальше, в предыдущий раз я как всегда забыл про "шапку":

Огромное спасибо, работает, теперь ещё и красиво Exclamation
Но есть непреодолимое препятствие, чтоб оно сработало самостоятельно.
После счетчика до 100 секунд выскакивает Windows окошко
"Выключение ПК" и пока не нажать OK, дальше дело не идет.
Я закомментировал эту строку
Code:
MsgBox("Выключение ПК", "", 64)

для практического использования она скорее и не нужна. Без этой строки всё нормально.

Подскажите пожалуйста ещё, как окно счетчика чучуть подвинуть вправо и вверх от центра экрана или лучше не трогать?
Не смог понять.


Orion9 wrote:
Как-то вчера прошел мимо этого комментария, а ведь Autorun очень легко может это сделать, даже пугающе легко. Я бы сказал, он создан для таких задач:

Класс, спасибо за ваши программные подарки.
Надеюсь кроме меня ещё кому-то пригодится.

Orion9 wrote:
A55555, если вы поставили Autorun, посмотрите еще пример сворачивания в трей в справке, напоминает чем-то изменение прозрачности.

Попробую найти (пока не хватило ума Confused ) и почитать.

Loopback
я использовал из справки вот этот метод сделать TC полноэкранно через нажатие F11
 Hidden text

по F11 входит в полноэкранный режим, но когда обратно хочу в обычный, после нажатия F11 выскакивает ошибка
 Hidden text

успевает появиться обратно только панель меню, Файлы_Выделение_Навигация_и_т.д.
Можно ли сделать, чтоб оно сразу выполняло вход в полноэкранный режим при старте TC?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1611

Post (Separately) Posted: Sun Sep 07, 2025 13:21    Post subject: Reply with quote

Orion9 wrote:
возможность масштабировать экран из настроек Windows появилась не только с Win8?

В семерке точно есть, да и в XP кажется уже было. Другое дело, что масштабирование работало мягко говоря так себе.

A55555 wrote:
Подскажите пожалуйста ещё, как окно счетчика чучуть подвинуть вправо и вверх от центра экрана или лучше не трогать?

Добавьте три параметра в функцию WinAlign, как в коде ниже, и попробуйте выделенные значения (это смещения от установленной позиции) менять как будет удобно.

WinAlign(h_WinShutdown, 0, DllCall("GetDesktopWindow"), 0, 100, -100)

A55555 wrote:
после нажатия F11 выскакивает ошибка

Поправил переменные и умолчания настроек, вроде сейчас работает.

 Hidden text


Но если что, код не мой, его автор присутствует на оффоруме ghisler.ch.


A55555 wrote:
Можно ли сделать, чтоб оно сразу выполняло вход в полноэкранный режим при старте TC?

Добавьте вызов ToggleFullScreen после инициализации, вот тут:
Code:

    Local sLayout = IniReadSection(AUTORUN_PATH & '\Layout.ini', 'Layout')
    If StrPos(sLayout, '=') Then _
    IniWriteSection('~/R', COMMANDER_INI, 'Layout', sLayout)
EndIf

# переход в полноэкранный режим при старте
ToggleFullScreen()
 
Func ToggleFullScreen(WinChange=1)
    Static HasTabHeader, HasStatusBar, HasDriveList, HasKeyButtons, HasCmdLine, _
           HasDriveBar, HasButtonBar, HasButtonBar2, HasMainHeader
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 838

Post (Separately) Posted: Sun Sep 07, 2025 18:24    Post subject: Reply with quote

A55555
Правильно сделали, что закомментировали ту строку, она была только для тестов и отладки.
A55555 wrote:
Подскажите пожалуйста ещё, как окно счетчика чучуть подвинуть вправо и вверх от центра экрана или лучше не трогать?

Вверх - понять могу, но почему вправо? Окно и правда смотрится чуть ниже центра из-за выравнивания по рабочему столу без учета панели задач. Loopback уже предложил решение, но как альтернативный вариант окно можно приподнять функцией WinSetPos. Если позиция будет неоднократно меняться, лучше не использовать флаг WS_VISIBLE при создании окна функцией CreateWindowExW (т.е. станет 0x00C80000 вместо 0x10C80000), а делать его видимым только после всех манипуляций. Вот такой альтернативный вариант вполне приемлим:
Code:
    h_WinShutdown = DllCall("CreateWindowExW", _
                            "dword", 0, _
                            "wstr", "msctls_progress32", _
                            "wstr", "", _
                            "dword", 0x00C80000, _
                            "int", 200, "int", 100, "int", Round(Scale(300)*nTextScale,0), "int", Scale(50), _
                            "handle", , _
                            "handle", 0, "handle", 0, "ptr", 0, _
                            "handle")
                   
    If h_WinShutdown = 0 Then Return 0
    # поверх всех окон
    WinSetState(30, h_WinShutdown)
    # выравнивание по центру рабочего стола   
    WinAlign(h_WinShutdown, 0, DllCall("GetDesktopWindow"))
    # перемещение окна вверх на 50 пикселей   
    WinSetPos("", -Scale(50), "", "", 1, h_WinShutdown)
    # перемещение окна вправо на 50 пикселей
    # WinSetPos(Scale(50), "", "", "", 1, h_WinShutdown)
    # показ окна   
    WinSetState(5, h_WinShutdown)

Если нужен сдвиг вправо, то за него отвечает отдельная строка.

Вообще-то, функционал классный получается, но пока он еще далек от завершения. Как было справедливо отмечено, нужна дополнительная обработка различных сценариев (неожиданное завершение операции, непредвиденные диалоговые окна, кнопка "В фоне" и т.д.), и это нормально. Иногда требуется 1-2 месяца, чтобы довести все до ума, это еще при частом использовании, а не редком.
A55555 wrote:
Надеюсь кроме меня ещё кому-то пригодится.

Сейчас заметил, что "Return" немного не туда поставил, что приводит к появлению подсказки при старте ТС, даже если прозрачность отключена и не используется. Лучше заменить на другой фрагмент:
Code:
 If nAction = 0 Then       
       IniRead transp %COMMANDER_INI% "Autorun" "Transparency" 255
       If transp >= 100 And transp < 255 Then
          WinSetStyle(0x80000, 3)
          DllCall("SetLayeredWindowAttributes", "hwnd", AUTORUN_TCHANDLE, _
                                         "ptr", 0, "byte", transp, "dword", 2)
       EndIf
       Return
    EndIf   

Вообще, Autorun позволяет добавить кучу уникальных фич, которые сам Гислер вряд ли будет когда-то делать. Где-то полгода назад я собирал интересные скрипты, вот перезаливка. С тех пор еще поднакопилось, и когда будет время, обязательно выложу. Например, летом активно юзал подсчет времени у аудио и видео файлов. Гислера тоже просили добавить эту фичу, но когда он ее сделает, не известно. А может и вовсе не сделает. Если вдруг интересно, то вот, прикладываю сразу с подсчетом торрент-файлов:
 Hidden text

 Кнопка

 Кнопка

Поменяйте только путь к библиотеке MediaInfo.dll, у меня это "COMMANDER_PATH & "\Ini\Tools\Libs\". И желательно иметь установленные плагины TCMediaInfo и TCTorrent от Loopback. Во время подсчета, если операция длительная, работает клавиша SHIFT, отображающая прогресс операции в текстовом виде. Подсчет размера торрент-файлов менее востребованная фишка, но если, например, диски под завязку, а файлы имеются, бывает необходимость прикинуть, сколько места они могут занять. Я, к примеру, сталкивался с таким.

А что касается полного экрана, то, разумеется, я видел этот код от Flasher, однако попробовать и обкатать его руки не дошли. У себя я использую TCFS2 для этих целей уже много лет, но со временем доберусь и до Autorun.

Кстати, полный экран не обязательно вызывать только горячей клавишей, можно сделать и в верхнем меню соответсвующую кнопку, тоже будет удобно. В файле меню после HELP_BREAK вставить MENUITEM ":::", em_FullScreen, где em_FullScreen - пользовательская команда для вызыва TCFS2. Возможно, вы знали о таком использовании, но так, на всякий случай написал.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1611

Post (Separately) Posted: Sun Sep 07, 2025 19:01    Post subject: Reply with quote

Версия Autorun 2.2.20 beta

 История изменений


Как обычно, сложно сосредоточиться только на правке багов и оптимизации, когда остаются нужные и интересные задачи. В этой версии закрыл ещё три пункта, которые давно висели в todo.

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

Еще расширение формата пункта меню для ShowPopupMenu, теперь в них можно напрямую использовать функции Autorun. И механизм внешнего взаимодействия - возможность передать данные напрямую в скрипт и получить что-то из скрипта.

В этом обновлении пришлось сделать небольшие изменения в API плагинов. Это "ломающее" изменение, но затрагивает оно только добавленную в двух прошлых версиях возможность возврата длинного текста в некоторых функциях. Чтобы не было проблем, достаточно чтобы версии плагинов Process и Runtime были актуальные, на их старых версиях с новой версией Autorun текст по прежнему будет обрезаться. Изменение затрагивает только три функции: ProcessExecGetOutput, GetSelectedItems и ClipGet.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 282
Location: Электросталь

Post (Separately) Posted: Sun Sep 07, 2025 20:40    Post subject: Reply with quote

Quote:
+ новый плагин RegExp, функции RegExpPos, RegExpGet, RegExpReplace, объект RegExp

Ура!
_________________
Amo ergo sum
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 31

Post (Separately) Posted: Sun Sep 07, 2025 22:56    Post subject: Reply with quote

Loopback wrote:
Добавьте три параметра в функцию WinAlign, как в коде ниже, и попробуйте выделенные значения (это смещения от установленной позиции) менять как будет удобно.

WinAlign(h_WinShutdown, 0, DllCall("GetDesktopWindow"), 0, 100, -100)

Поправил переменные и умолчания настроек, вроде сейчас работает.


Добавьте вызов ToggleFullScreen после инициализации, вот тут:
Code:

# переход в полноэкранный режим при старте
ToggleFullScreen()
 
Func ToggleFullScreen(WinChange=1)
    Static HasTabHeader, HasStatusBar, HasDriveList, HasKeyButtons, HasCmdLine, _
           HasDriveBar, HasButtonBar, HasButtonBar2, HasMainHeader

Большое спасибо.
Все работает.

Orion9 wrote:
Вверх - понять могу, но почему вправо? Окно и правда смотрится чуть ниже центра из-за выравнивания по рабочему столу без учета панели задач. Loopback уже предложил решение, но как альтернативный вариант окно можно приподнять функцией WinSetPos. Если позиция будет неоднократно меняться, лучше не использовать флаг WS_VISIBLE при создании окна функцией CreateWindowExW (т.е. станет 0x00C80000 вместо 0x10C80000), а делать его видимым только после всех манипуляций. Вот такой альтернативный вариант вполне приемлим:
Если нужен сдвиг вправо, то за него отвечает отдельная строка.

Спасибо. Работает, если не активировать строку сдвига вправо.
При активации строки сдвига вправо окно счетчика не появляется поверх всех окон.
Мне для тестов так удобнее чуть вправо чтоб появлялось.

Orion9 wrote:
Сейчас заметил, что "Return" немного не туда поставил, что приводит к появлению подсказки при старте ТС, даже если прозрачность отключена и не используется. Лучше заменить на другой фрагмент:

Сменил. Но именно у меня никакой лишней подсказки не выскакивало и в предыдущем варианте. Прозрачность активирована.

Orion9 wrote:
Вообще, Autorun позволяет добавить кучу уникальных фич, которые сам Гислер вряд ли будет когда-то делать. Где-то полгода назад я собирал интересные скрипты, вот перезаливка. С тех пор еще поднакопилось, и когда будет время, обязательно выложу. Например, летом активно юзал подсчет времени у аудио и видео файлов. Гислера тоже просили добавить эту фичу, но когда он ее сделает, не известно. А может и вовсе не сделает. Если вдруг интересно, то вот, прикладываю сразу с подсчетом торрент-файлов:

Спасибо.
TCMediaInfo и TCTorrent в моей сборке TC по умолчанию включены, путь указал для MediaInfo.dll
Я попробовал под вашей копией TC, у себя пока не смог прикрутить. У меня опыта прикручивания готовых кнопок нет, поучусь.


Last edited by A55555 on Mon Sep 08, 2025 00:39; edited 1 time in total
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 838

Post (Separately) Posted: Mon Sep 08, 2025 00:14    Post subject: Reply with quote

Loopback
Топчик, как всегда )

Спасибо, что добавили копию материала по регулярным выражениям сразу в справку. Теперь придется снова заряжаться кофе и кокосовым молоком по утрам )

Давно ждал расширенного меню, чтобы избавится наконец от ненужных посредников при вызове внутренних функций. Ну и осбенно радует, что теперь можно менять стили и значки отдельных пунктов без привязки к em_командам.

Внешнее взаимодействие - шикарно просто. В общем, большое спасибо за очередную версию!

yozhik
Всё стесняюсь поинтересоваться. У вас нет планов обновить хайлайтер синтаксиса Autorun на AkelPad? Там ведь много чего добавилось.

A55555 wrote:
При активации строки сдвига вправо окно счетчика не появляется поверх всех окон.

Я больших тестов не проводил, но вроде бы у меня работало без проблем. Даже не знаю, в чем может быть причина.
A55555 wrote:
Мне для тестов так удобнее чуть вправо чтоб появлялось.

Понял теперь.
A55555 wrote:
Сменил. Но именно у меня никакой лишней подсказки не выскакивало и в предыдущем варианте.

Она просто появляется у указателя мыши, я ее тоже не сразу заметил, поэтому и пропустил в первом варианте кода.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 434

Post (Separately) Posted: Mon Sep 08, 2025 06:36    Post subject: Reply with quote

Loopback wrote:
- очередной раз улучшена стабильность появления сообщений об ошибках под x64

Проверил на текущей сборке. Вроде все нормально, окно сообщения больше не улетает за экран. Но тестовую сборку я давно грохнул. Поэтому не отвечаю за результат. А у вас не сохранилась моя тестовая сборка? Хотелось-бы не ней проверить, чтобы успокоиться.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1611

Post (Separately) Posted: Mon Sep 08, 2025 11:49    Post subject: Reply with quote

AkulaBig wrote:
Проверил на текущей сборке. Вроде все нормально, окно сообщения больше не улетает за экран.

Нет, та проблема с улетанием окна осталась не исправленной до конца, повторить я её так и не смог. Поставил проверку, которая исправляет внешние проявления, но не корень проблемы, поэтому я даже в историю ее забыл добавить. Если открыть DebugView и посмотреть, то при возникновении той ошибки будет выводиться сообщение "'Unable to get TC window rect, use desktop". Попробуйте, скорее всего и на текущей сборке проявится. Но если что - сборка осталась, при необходимости выложу.

А пункт по стабильности окна в истории изменений - это побочный эффект от поисков бага выше. Тот не исправил, зато нашел более надёжный способ блокировать автозакрытие окна.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 838

Post (Separately) Posted: Mon Sep 08, 2025 14:04    Post subject: Reply with quote

Quote:
- Tweaks: более точное определение границ функциональных клавиш в ControlSetMouseAction

Эх, хотел бы сказать, что проблема полностью ушла (и даже в какой-то момент так и показалось), но нет, все-таки вылетает иногда, зараза. Ну ладно. Это мелочи.
Quote:
- задание кодировки в виде CP:xxxx не работало

Имеется в виду, что теперь будут работать такие записи?
Code:
buf.SetStr(pipe, 0, nSize, "CP:28591")

Это классно.

А так, установил пока новую версию, вроде работает, но нужно, больше тестов, конечно.
A55555 wrote:
У меня опыта прикручивания готовых кнопок нет, поучусь.

Не совсем понятно, что имеется в виду. Про копипрование кода кнопок на панель инструментов вы, наверное, знаете. А чтобы вызывать функции Autorun из кнопок ТС, для этого, как правило, регистрируется отдельный незанятый код в диапазоне 60000-100000 и указывается в соответствующей кнопке. Этот код можно использовать и в пользовательских em_командах, например, себе я сделал такую команду в файле usercmd.ini:
Code:
[em_file_fragments]
cmd=70400

Код 70400 вызывает функцию отображения кластеров в подсказке. Можно вызывать этот код из кнопки, но так будет не очень удобно при частом использовании. Поэтому я создал отдельную em_команду и использую ее при нажатии комбинации CTRL + F, назначенив ее в окне стандартных настроек ТС.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 434

Post (Separately) Posted: Mon Sep 08, 2025 15:09    Post subject: Reply with quote

Loopback wrote:
Нет, та проблема с улетанием окна осталась не исправленной до конца, повторить я её так и не смог.

Понятно.
Loopback wrote:
Попробуйте, скорее всего и на текущей сборке проявится.

Не могу я эту ошибку на текущей сборке получить. У меня код изменился очень сильно.
Loopback wrote:
Но если что - сборка осталась, при необходимости выложу.

Если вы утверждаете, что пока ту ошибку не устранили, может и нет смысла. Но на всякий случай лучше выложите куда-нибудь, если не трудно. Буду тестить каждую новую версию.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1611

Post (Separately) Posted: Mon Sep 08, 2025 20:02    Post subject: Reply with quote

Orion9 wrote:
все-таки вылетает иногда, зараза

Увы, идеально точно не получится, ширина кнопок меняется, расчётные значения ширины всё равно плюс-минус один-два пикселя будут гулять.

Orion9 wrote:
Имеется в виду, что теперь будут работать такие записи?

Да, как и было задумано.

AkulaBig wrote:
Не могу я эту ошибку на текущей сборке получить. У меня код изменился очень сильно.

Т.е. в DebugView ничего не пишет? Потому что улетать сейчас окно в любом случае не будет. Но если проблема опять возникнет - кидает отладочное сообщение об этом.

AkulaBig wrote:
Но на всякий случай лучше выложите куда-нибудь, если не трудно.

Залил временно к себе, мне так удобнее чем с обменниками.
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 ... 199, 200, 201, 202, 203, 204  Next
Page 200 of 204

 
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