1.DLL 工程单元代码
library Project2;
uses
Windows, Messages;
const
MY_MSG = WM_USER + 101;
{$R *.res}
procedure LoadDLL(const AHandle: Pointer); stdcall;
begin
PostMessage(THandle(AHandle),MY_MSG,11,22);
end;
exports
LoadDLL;
begin
end.
2.主程序代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
MY_MSG = WM_USER + 101;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure MyMsgFunc(var AMsg: TMessage); message MY_MSG;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure LoadDLL(const AHandle: Pointer); stdcall;external 'Project2.dll';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadDLL(Pointer(Handle));
end;
procedure TForm1.MyMsgFunc(var AMsg: TMessage);
begin
ShowMessage(IntToStr(AMsg.WParam) + '|' + IntToStr(AMsg.LParam));
end;
end.