1. Numbered CM-commands w/o parameters. May be executed either via WM_USER + 51 message or via WM_COPYDATA as EM-commands.
2. Named EM-commands. May be executed via WM_COPYDATA with "EM" data tag.
3. Named commands with parameters (like OPENTABS, CD, OPENBAR, LOADSEARCH in separate group of command browser). May not be executed neither via WM_USER + 51 nor via WM_COPYDATA message (*).
4. Numbered CM-commands that support optional parameter string. May be executed via WM_USER + 51 message with numeric parameter, or via WM_COPYDATA as EM-commands with any parameter.
* Most named commands may be executed via a wrapper EM-command with %A parameter, like em_MultiRename with MULTIRENAME command and %A parameter, or em_OpenTabs with OPENTABS command and %A parameter and even (surprisingly) em_PanelWidth command with cm_100percent command and %A (it really accepts %A parameter though TC interface blocks parameter field for any CM-command so manual usercmd.ini editing is needed). This way is not usable because it requires a wrapper command for every command with parameter.
Please make parametrized commands working in TC 9.50 just via WM_COPYDATA with "EM" data tag call, i.e. process them like EM-commands, it should be quite easy to fix since TC already has a code that parses buttonbar commands. It isn't portable and useful to create a wrapper command per every command with parameters.
Some examples of executing commands via TCFS2:
Code: Select all
TCFS2.exe /ef tem(`em_OpenTabs D:\1.tab`) TCFS2.exe /ef tem(`em_OpenBar D:\1.bar`) TCFS2.exe /ef tem(`em_MultiRename MyTemplate`) TCFS2.exe /ef tem(`em_SelectFiles *.ini`) TCFS2.exe /ef tem(`em_PanelWidth 88`) TCFS2.exe /ef tem(`cm_100percent 88`) TCFS2.exe /ef tem(`cm_GoToFirstFile 10`)
It would be much easier to be able to execute such commands directly (currently not possible)!
Code: Select all
TCFS2.exe /ef tem(`OPENTABS D:\1.tab`) TCFS2.exe /ef tem(`OPENBAR D:\1.bar`) TCFS2.exe /ef tem(`MULTIRENAME MyTemplate`) TCFS2.exe /ef tem(`SELECTFILES *.ini`)