MacroControl
Функция
MacroControl
позволяет управлять макрокомандами Far Manager.
intptr_t WINAPI MacroControl( const GUID *PluginId, enum FAR_MACRO_CONTROL_COMMANDS Command, intptr_t Param1, void *Param2 );
Параметры
PluginId
Указатель на GUID плагина (для вашего плагина, GUID должен быть таким же, что и в поле
GlobalInfo.Guid
функции GetGlobalInfoW).Command
Может быть одним из следующих значений (перечисление FAR_MACRO_CONTROL_COMMANDS):
Команда | Описание | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MCTL_LOADALL | Загрузить все макросы из файлов в память Far Manager. Предыдущие значения макросов при этом выгружаются, за исключением макросов, добавленных с помощью команды MCTL_ADDMACRO. Param1 не используется.Param2 указывает на структуру
FarMacroLoad.
Для загрузки с параметрами по умолчанию установите в NULL .Функция при неудаче вернёт FALSE . | ||||||||||||||||||||||||||||||||||||||
MCTL_SAVEALL | Сохранить клавиатурные макросы из памяти Far Manager в файлы. Если пользователь записал с клавиатуры новые макросы, изменил либо удалил существующие, то данные изменения станут постоянными. Param1 не используется.Param2 не используется.Функция при неудаче вернёт FALSE . | ||||||||||||||||||||||||||||||||||||||
MCTL_SENDSTRING | Выполнить или проверить макрос.Param1 значение типа FARMACROSENDSTRINGCOMMAND:
| ||||||||||||||||||||||||||||||||||||||
MCTL_EXECSTRING | Исполнить скрипт (строку или файл).Param1 не используется.Param2 указывает на структуру MacroExecuteString.Функция при неудаче вернёт FALSE . | ||||||||||||||||||||||||||||||||||||||
MCTL_GETLASTERROR | Получить расширенную диагностику об ошибке проверки макроса или скрипта
(после исполнения команды MCTL_SENDSTRING или MCTL_EXECSTRING ).Param1 размер буфера. Указывает максимальное количество байт, которые могут быть записаны в Param2 .Param2 указатель на буфер, структуру MacroParseResult, память плагин выделяет самостоятельно.Функция возвращает размер требуемого буфера, при Param2 = NULL . | ||||||||||||||||||||||||||||||||||||||
MCTL_GETSTATE | Получить статус работы макродвижка.Param1 не используется.Param2 не используется.Функция возвращает одно из значений (перечисление FARMACROSTATE):
| ||||||||||||||||||||||||||||||||||||||
MCTL_GETAREA | Получить текущую макрообласть.Param1 не используется.Param2 не используется.Функция возвращает значение типа FARMACROAREA :
| ||||||||||||||||||||||||||||||||||||||
MCTL_ADDMACRO | Добавить в память Far Manager макрос.Param1 игнорируется. Param2 указывает на структуру MacroAddMacro.Функция при неудаче вернёт FALSE . | ||||||||||||||||||||||||||||||||||||||
MCTL_DELMACRO | Удалить из памяти Far Manager макрос, добавленный ранее командой MCTL_ADDMACRO.Param1 игнорируется. Param2 указывает на идентификатор удаляемого макроса, поле Id структуры MacroAddMacro.Функция при неудаче вернёт FALSE . |
Param1
Указывает на
Параметр1
команды. Смотрите описание Command
.Param2
Указывает на
Параметр2
команды. Смотрите описание Command
.Возвращаемое значение
Смотрите описание
Command
.
Пример
Смотрите также: