Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Пример обратного вызова DLL

Delphi , Файловая система , DLL и PlugIns

Пример обратного вызова DLL

Обратный вызов (callback) для NotifyRegister должен находиться в DLL. Вам не нужен MakeProcInstance, просто добавьте "export" к объявлению функции. Нижеследующий код является простым примером DLL для Delphi. Вы должны запустить все тесты вне Delphi или же ваша программа не получит никаких уведомлений (notifications). Все это выглядит похожим на Delphi, зарегистрировавшей перехват с Toolhelp...


library Lib1;

uses WinTypes, Messages, WinProcs, Toolhelp;

const

  WM_NOTIFY = WM_USER + $100;

var

  targetHWnd: HWnd;

function HookProc(wID: Word; dwData: LongInt): Bool; export;

begin
  PostMessage(targetHWnd, WM_NOTIFY, wID, dwData);
  Result := False
end;

procedure InstallHook(notifyWindow: HWnd); export;

begin
  if targetHWnd = 0 then
  begin
    if not NotifyRegister(0, HookProc, NF_NORMAL) then
    begin
      MessageBox(notifyWindow, 'Неудача NotifyRegister!',
        'Ошибка!', MB_OK + MB_ICONSTOP);
    end
    else
    begin
      targetHWnd := notifyWindow;
    end;
  end;
end;

procedure UnInstallHook; export;

begin
  if targetHWnd <> 0 then
  begin
    NotifyUnregister(0);
    targetHWnd := 0;
  end;
end;

exports

  InstallHook,
  UnInstallHook;

begin

  targetHWnd := 0;
end.

Статья Пример обратного вызова DLL раздела Файловая система DLL и PlugIns может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: DLL и PlugIns ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 04:15:00/0.037122964859009/0