Подскажите, плиз, как можно программно
1. Скопировать файл с плагиновой панели в определённую папку;
2. Скопировать файл из папки на плагиновую панель
Очень желательно - пример на C++
Скопировать файл из плагиновой панели
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Читай Енц. (http://api.farmanager.com/) и смотри сорцы плагинов, например FarMail, MailView, MultiArc, wfx2far и куча других.
Zeroes and t-rex
А можно чуть-чуть подробнее?
Вот что я пробовал:
А как сделать, чтобы Far выполнил макрос и плагин только после этого открыл файл в редакторе?
А можно чуть-чуть подробнее?
Вот что я пробовал:
Code: Select all
// filepath - путь, куда нужно скопировать (с завершающим /)
// filename - имя плагинового файла
KeySequence keys;
long len = strlen(filepath);
keys.Count=len+1;
keys.Sequence=new DWORD[keys.Count];
keys.Sequence[0]=m_FSF.FarNameToKey("F5");
////// Побуквенно преобразуем путь в макроклавиши
for(int i=0;i<len;i++)
{
key[0]=filepath[i];
key[1]='\0';
keys.Sequence[i+1]=m_FSF.FarNameToKey(key);
}
////////
keys.Flags=KSFLAGS_DISABLEOUTPUT;
strcat(filepath,filename);
m_Info.AdvControl(m_Info.ModuleNumber,ACTL_POSTKEYSEQUENCE,&keys);
keys.Count=1;
keys.Sequence[0]=m_FSF.FarNameToKey("Enter");
// Для Enter отдельный запуск. Иначе вместо Enter в конец поля ввода вбивается символ
m_Info.AdvControl(m_Info.ModuleNumber,ACTL_POSTKEYSEQUENCE,&keys);
// Пока всё хорошо.
// Но где-то тут Far должен получить управление и выполнить макрос.
// Что для этого нужно написать ?????
// А вот тут будет ошибка "Файл не найден".
// Макрос-то ещё и не думал выполняться!
Editor(filepath, filepath,0,0,-1,-1,EF_NONMODAL,-1,-1);