?? main.pas
字號:
Unit Main;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, PluginsType;
Type
TForm1 = Class(TForm)
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Private
Public
Protected
Procedure CreateParams(Var Params: TCreateParams); Override;
End;
Function Sg_Plugin: PPluginModule; Stdcall;
Var
Form1: TForm1 = Nil;
Implementation
{$R *.dfm}
Var
ExeApp: TApplication;
MenuItem: TMenuItem;
LibHandle: THandle;
AddPluginPic: PAddPluginPic_CallBack;
Const
{$I PluginInfo.inc}
Info: TPluginInfo = (
Version: PluginVersion;
Name: PluginName;
Description: PluginDescription;
ModulePath: GetModulePath;
);
Function GetPluginInfo: PPluginInfo; Stdcall;
Begin
Result := @Info;
End;
Procedure SetPluginManagerInfo(PMI: PPluginManagerInfo); Stdcall;
Begin
ExeApp := TApplication(PMI^.App);
MenuItem := TMenuItem(PMI^.MenuItem);
LibHandle := PMI^.LibHandle;
AddPluginPic := PMI^.AddPluginPicCallBack;
End;
Procedure SetAbout(This_Module: PPluginModule); Stdcall;
Begin
ExeApp.MessageBox('關于...', '', MB_ICONINFORMATION);
End;
Procedure SetConfig(This_Module: PPluginModule); Stdcall;
Begin
ExeApp.MessageBox('無配置...', '', MB_ICONINFORMATION);
End;
Function SetInitialize(This_Module: PPluginModule): Integer; Stdcall;
Begin
Result := S_OK;
End;
Function SetTerminate(This_Module: PPluginModule): Integer; Stdcall;
Begin
If Form1 <> Nil Then FreeAndNil(Form1);
Result := S_OK;
End;
Function SetStart(This_Module: PPluginModule): Integer; Stdcall;
Begin
If Form1 = Nil Then ExeApp.CreateForm(TForm1, Form1);
Form1.Show;
Result := S_OK;
End;
Function SetStop(This_Module: PPluginModule): Integer; Stdcall;
Begin
Result := S_OK;
End;
Function SetUninstall(This_Module: PPluginModule): integer; Stdcall;
Begin
Result := S_OK;
End;
Const
DllModule: TPluginModule = (
PluginInfo: GetPluginInfo;
PluginManagerInfo: SetPluginManagerInfo;
About: SetAbout;
Config: SetConfig;
Initialize: SetInitialize;
Terminate: SetTerminate;
Start: SetStart;
Stop: SetStop;
Uninstall: SetUninstall;
);
Function Sg_Plugin: PPluginModule; Stdcall;
Begin
Result := @DllModule;
End;
{==============================================================================}
Procedure TForm1.CreateParams(Var Params: TCreateParams);
Begin //重載不顯示在任務欄
Inherited CreateParams(Params);
Params.WndParent := ExeApp.MainForm.Handle;
End;
Procedure TForm1.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin //自釋放窗體
Action := caFree;
Form1 := Nil;
End;
End.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -