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 

Single Post  Topic: Autorun 
Author Message
AkulaBig



PostPosted: Fri Feb 13, 2026 12:25    Post subject: Reply with quote

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

Pragma Include %COMMANDER_PATH%\Plugins\wdx\Autorun\NagScreen.aucfg

# NagScreen.aucfg
# ================================   Описание   ================================
# Нажимает кнопку на наг-скрине.
# =================================   Примеры   ================================
# Для использования скрипта в плагине Total Commander Autorun, необходимо
# включить NagScreen.aucfg в файл autorun.cfg:
# Pragma Include %COMMANDER_PATH%\Plugins\wdx\Autorun\NagScreen.aucfg
# ==============================================================================

# ==============================   Description   ===============================
# Presses a button on the nagscreen.
# =================================   Example   ================================
# To use script in plugin Total Commander Autorun, it is possible enable
# NagScreen.aucfg:
# Pragma Include %COMMANDER_PATH%\Plugins\wdx\Autorun\NagScreen.aucfg
# ==============================================================================

Local hWnd, nTimeOut = 2000
While nTimeOut > 0
   If FileExist(COMMANDER_PATH & "\wincmd.key") Then
      Break
   EndIf
   # Находим окно наг-скрина
   # Find the nagscreen window
   hNagScreen = WinFind(WinFind(WinFind(WinFind(WinFind(0, 'TNASTYNAGSCREEN'), _
      auX64 ? "Window" : "TNotebook"), _
      auX64 ? "Window" : "TPage"), _
      auX64 ? "Window" : "TPanel"), _
      auX64 ? "Window" : "TPanel")
   If hNagScreen > 0 Then
      # Определяем хэндлы кнопок для закрытия окна наг-скрина
      # Define button handles for closing the nagscreen 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 nagscreen 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
      Break
   EndIf
   Sleep(50)
   nTimeOut -= 50
Wend

Чтобы не плодить сообщения, вставил в этот пост правильный код.


Last edited by AkulaBig on Fri Feb 20, 2026 16:53; edited 4 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group