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: 1005

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
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