Закрыть Программу Из Dll

  • Автор темы Автор темы Lomanu4
  • Дата начала Дата начала

Lomanu4

Команда форума
Администратор
Ofline
MYDLL.DLL
Код:
library mydll;
uses SysUtils, Classes, Windows, Messages;
const
WM_KILLMAINFORM = WM_USER +102;
killmes = 'Умри достойно. Целую, mydll.dll';
{Определяем функцию как stdcall}
function GetSimpleText( FormHandle: THandle; LangRus: Boolean): PChar; stdcall;
begin
{В зависимости от LangRus возвращаем русскую (True) либо английскую (False) фразу}
if LangRus then
Result := PChar('Здравствуй, мир!')
else
Result := PChar('Hello, world!');
if (FormHandle > 0) then
PostMessage(FormHandle,WM_KILLMAINFORM, 0, Lparam(PChar(killmes)));
end;
{Директива exports указывает, какие функции будут экспортированы этой DLL}
exports GetSimpleText;
begin
end.
в программе:


[HIDE=5]
Код:
//...
const
WM_KILLMAINFORM = WM_USER +102;
//...
type
TForm1 = class(TForm)
/...
private
procedure WMKillMainForm(msg: TMessage); message WM_KILLMAINFORM;
//...
public
//...
end;
implementation
//...
procedure TForm1.WMKillMainForm(msg: TMessage);
begin
ShowMessage(PChar(msg.LParam));
Self.Close;
// или Application.Terminate;
end;
[/HIDE]
 
Назад
Сверху Снизу