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 ... 217, 218, 219
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
AkulaBig



Joined: 03 Dec 2008
Posts: 468

Post (Separately) Posted: Fri Feb 13, 2026 10:45    Post subject: Reply with quote

Orion9
Вы у нас единственный остались на замену автору Smile Кстати, не в курсе, куда он так надолго исчез?
Решил побаловаться с наг-скрином ТС. Но не получается получить хэндл кнопки с цифрами.
Code:

hNagScreen = WinFind(WinFind(WinFind(WinFind(WinFind(0, 'TNASTYNAGSCREEN'), _
   auX64 ? "Window" : "TNotebook"), _
   auX64 ? "Window" : "TPage"), _
   auX64 ? "Window" : "TPanel"), _
   auX64 ? "Window" : "TPanel")
hButton = DllCall("GetNextWindow", "hwnd", hNagScreen, "int", 2, "hwnd")

И вот не знаю, как в Autorun реализовать функцию GetNextWindow. Решил через DllCall. Как всегда у меня DllCall не работает.
Можете посмотреть, что не так с DllCall?
А может можно следующее окно найти средствами Autorun?
Конечно с удовольствием услышу совет от любого форумчанина, а не только от Orion9
Додумался сам:
Code:

Local hButton = DllCall("GetWindow", "hwnd", hNagScreen, "uint", 2, "hwnd")

Вопрос с вариантом через Autorun остается. Но у вас тождественные функции тоже через DllCall решены. Так что, видимо, решения нет.

Добавлено спустя 1 час 40 минут:

Закрываем наг-скрин.
Может кому-то пригодится.
Code:

# Находим окно наг-скрина
# Find the nagscreen window
hNagScreen = WinFind(WinFind(WinFind(WinFind(WinFind(0, 'TNASTYNAGSCREEN'), _
   auX64 ? "Window" : "TNotebook"), _
   auX64 ? "Window" : "TPage"), _
   auX64 ? "Window" : "TPanel"), _
   auX64 ? "Window" : "TPanel")

# Определяем хэндлы кнопок для закрытия окна наг-скрина
# Define button handles for closing the naked screen window
hButton3 = DllCall("GetWindow", "hwnd", hNagScreen, "uint", 2, "hwnd")
hButton2 = DllCall("GetWindow", "hwnd", hButton3, "uint", 2, "hwnd")
hButton1 = DllCall("GetWindow", "hwnd", hButton2, "uint", 2, "hwnd")

# Имитация клика ЛКМ
# Simulate LMB click
BM_CLICK = 245

# Нажимаем кнопку для закрытия окна наг-скрина
# Press the button to close the naked screen window
Switch WinGetText(hNagScreen)
   Case '3'
      
      SendMessage(hButton3, BM_CLICK, 0, 0)
   Case '2'
      SendMessage(hButton2, BM_CLICK, 0, 0)
   Case '1'
      SendMessage(hButton1, BM_CLICK, 0, 0)
EndSwitch
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1006

Post (Separately) Posted: Fri Feb 13, 2026 13:48    Post subject: Reply with quote

AkulaBig
Кликает, проверил. Рабочее решение )

Может быть где-то дописать, что код желательно вставлять пораньше? У меня, например, несколько модулей, я вставил его в модуль Test.aucfg, который распологается ближе к концу. В результате окно заметно мелькает.

А разве наг-скрин появляется только один раз при старте? Раньше, помню, это окно могло доставать и во время копипования. Неужто Гислер совсем раздобрел к старости? )

Quote:
Кстати, не в курсе, куда он так надолго исчез?

Вероятно готовится восстать как... FileZilla Smile

Шутки шутками, хотел еще описание к Torrent.aucfg успеть сделать, как когда-то обещал, но времени что-то совсем в обрез получается. И все-таки надо добить, пока взялся и есть какое-то настроение...
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 468

Post (Separately) Posted: Fri Feb 13, 2026 18:06    Post subject: Reply with quote

Orion9 wrote:
Может быть где-то дописать, что код желательно вставлять пораньше?

С местом вставки очень интересная ситуация. Я начал писать после запуска всех модулей. Как-будто почуял, где надо. После написания попробовал вставить после загрузки библиотек. Не работает! Не понимаю, почему. Так что кто заинтересуется, прочитает этот пост и сам попытается найти место, где код будет работать.
Orion9 wrote:
В результате окно заметно мелькает.

Ну мы с вами знаем, что можно попытаться убрать мелькание. Но я именно специально не стал ничего делать. Хочу, чтобы мелькало. Не хочется Гислера обижать. Хоть в этом ничего противозаконного и нет.
Orion9 wrote:
Раньше, помню, это окно могло доставать и во время копипования.

Припоминаю, что вроде было такое. Давно уже нет.
Orion9 wrote:
времени что-то совсем в обрез получается

Хорошо при Брежневе было, ни компютера, ни инета. По трое кед за лето рвал на футбольном поле. После беганья, прыганья, скаканья, когда становилось темно, книжка в руках. О нехватке времени даже не задумывались. А сейчас все время тратим фиг знает на что Smile
А про вариант следующего окна через Autorun ничего не скажете? Что-то у меня есть смутные подозрения, что по возможности лучше делать через Autorun, чем через DllCall. Недавно столкнулся с одной ошибочкой с DllCall и стало интересно, а как это будет работать через Autorun. Сейчас уже этот функционал есть. Но проверить руки не доходят.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1006

Post (Separately) Posted: Sat Feb 14, 2026 00:32    Post subject: Reply with quote

AkulaBig wrote:
Не работает! Не понимаю, почему.

Возможно, окно просто не успевает появляться. Поэтому WinFind ничего не возвращает и ничего не работает. По той же причине я поставил вашу функцию в самый конец, т.е. после всех Pragma Include.

Я там исправил английский комметарий, если не возврожаете, а то получился "naked screen" после перевода Smile Если делать софтовый перевод, желательно еще раз прогонять текст в обратную сторону, чтобы не было явных косяков.
AkulaBig wrote:
Не хочется Гислера обижать.

Согласен. Когда окно триала немного задерживается при запуске, даже лучше, во всех смыслах. Ежедневно с таким сталкиваться, конечно, я вряд ли бы согласился, но для сборки самое то.
AkulaBig wrote:
Припоминаю, что вроде было такое. Давно уже нет.

Это радует. А то я как-то давно с триальной версией не работал.
AkulaBig wrote:
Что-то у меня есть смутные подозрения, что по возможности лучше делать через Autorun, чем через DllCall.

Помню, сталкивался с таким. Не всё получится вызвать через DllCall. Но вы нашли рабочее решение, поздравляю. Теперь я тоже его использую в сборке Smile

Ну, и как полагается, сделал таки описание на модуль Torrent.aucfg. Да, далеко не всем нужен подобный функционал, но все-таки приятно иметь его под рукой, если потребуется:
 Hidden text

Да, было бы неплохо на каждый модуль сделать такое описание, как и предлогал FallenAngel, но где ж взять столько времени, сил и вдохновения? Smile

Со временем, может, и сделаю. А пока собрал все скрипты по этой ссылке, пусть полежат, отдохнут немного )

P.s. Я там добавил возможность переключения заголовка на InfoHeader. Если запустить тотал и удерживать CTRL, то вместо Title.aucfg запустится InfoHeader.aucfg. Удобно для тестов.

И да. Скрипты распространяются по лицензии "Республика Шкид", каждый в праве делать с ними все, что хочет, применение в собственных целях толлько приветствуется!
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 ... 217, 218, 219
Page 219 of 219

 
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