Ранее рассматривалась моя программа ScreenShotSaver.
http://forum.vingrad.ru/index.php?showtopic=25873
Многим показалось, что мало плагинов.
Теперь предлагаю вашему вниманию SDK для плагинов.
| Код | library SSSPlugin;
uses Windows, Messages;
{$E pss}
type // Плагин отправляет данные PInitData_v1 = ^TInitData_v1; TInitData_v1 = record Version: DWord; // Версия плагина, всегда 0 PluginName: array [0..1023] of Char; // Имя плагина (лучше длину строки (не массива) подобрать так, чтоб влезла в одну строку в диалоге настроек) end;
// Плагин получает данные PSaveData_v1 = ^TSaveData_v1; TSaveData_v1 = record FileName: array [0..1283] of Char; // Имя файла сохраняемых данных БЕЗ РАСШИРЕНИЯ И ТОЧКИ Data: HBITMAP; // Данные для сохранения Wnd: HWND; // Дескриптор основного диалога end;
{Обязательная функция} function InitProc(InitData: PInitData_v1): Bool; stdcall; begin { InitData^.Version := 0; InitData^.PluginName[0] := 'P'; ... InitData^.PluginName[k] := #0;} Result := true end;
{Обязательная функция} function SaveProc(SaveData: PSaveData_v1): Bool; stdcall; begin Result := true end;
{Не обязательная функция} // Wnd - Родительское окно function OptionsProc(Wnd: HWND): Bool; stdcall; begin Result := true end;
{Не обязательная функция} function DoneProc: Bool; stdcall; begin Result := true end;
exports {Обязательная функция} InitProc, {Обязательная функция} SaveProc, {Не обязательная функция} DoneProc, {Не обязательная функция} OptionsProc;
begin end.
|
Жду вопросов. |