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
Orion9



PostPosted: Mon Jul 28, 2025 17:58    Post subject: Reply with quote

Loopback wrote:
надо будет попробовать исправить

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

Кстати, неплохой пример с менюшкой на предыдущей странице. Я когда с функцией обратного вызова разбирался, тоже пробовал что-то такое. С практической точки зрения совершенно бесполезное, но с технической точки зрения может кому-то пригодится:
Code:
# WM_MENUSELECT
SetMessageAction /P 0x011F "MenuSelectCallback"    

Func MenuSelectCallback(hWnd, uMsg, wParam, lParam)
    Local buf = Buffer(100), _         
          nId = BitAND(wParam, 0xffff)
    DllCall("GetMenuStringW", _
            "handle", lParam, _   
            "uint", nId, _   
            "ptr", buf.ptr, _   
            "int", 50, _
            "uint", 0)
    WinSetText("uMsg: " & uMsg & " ID: " & nId & " lParam: " & lParam & " Item: " & buf.GetStr())   
    ShowHint("uMsg: "   & uMsg & auCRLF & _
             "ID: "     & nId & auCRLF & _
             "lParam: " & lParam & auCRLF & _
             "Item: "   & buf.GetStr(), "", "", 500, 1)         
EndFunc

Функция MenuSelectCallback вешается на сообщение WM_MENUSELECT в окне ТС и вызывается каждый раз, когда происходит выбор пункта меню. Работает и на верхнем меню ТС, и на контекстном. Функция ничего не делает, только выводит информацию о пункте меню в заголовок и в отдельную подсказку, но неплохо демонстрирует, как работает Callback через SetMessageAction.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group