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
Loopback



PostPosted: Thu Feb 08, 2024 23:29    Post subject: Reply with quote

Orion9
Регистрация практически такая же, нужно только добавить переключатель /P, чтобы в дополнение к пользовательским параметрам команды (если они есть) добавлялись стандартные 4 параметра сообщения. Их формальные имена в функции могут быть произвольными, те что в примере просто соответствуют принятым в Winapi. Из них wParam и lParam могут задаваться пользователем при отправке сообщения. Могут быть только числами.

Вот простой пример, аналогичный тому что выше:

Code:

LoadLibrary Plugins\Autorun_Tweaks.dll

# Функция, которая будет выполнена при получении сообщения
Func MyMessageFunc(hWnd, uMsg, wParam, lParam)
  Local text
  Switch wParam
    Case 1
      text = "Первый вариант"
    Case 2
      text = "Второй вариант"
  EndSwitch 
 
  SetEnv ENV_NAME  %text%
EndFunc

# Привязываем функцию к сообщению, регистрируемому строкой "MyMessage", переключатель /P подразумевает, что функция MyMessageFunc должна иметь минимум четыре параметра.
SetMessageAction /P "MyMessage" MyMessageFunc


Теперь можно выполнить TCFS2 с командой, в которой передаем 1 или 2 в качестве параметра сообщения, в зависимости от них будут выполняться разные действия:

TCFS2.exe /ef "msg(regmsg(MyMessage), 1, 0)"
TCFS2.exe /ef "msg(regmsg(MyMessage), 2, 0)"
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group