Delphi World - Как поместить приложение Delphi в Панель Управления
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как поместить приложение Delphi в Панель Управления

Для использования апплета измените его расширение с "dll" на "cpl" и поместите в системную директорию.


library Project1; {Измените "program" на "library"}

uses
  Cpl, {используем модуль Cpl}
  Windows,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

procedure ExecuteApp;
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end;

{Сallback-функция для экспорта в Панель Управления}

function CPlApplet(hwndCPl: THandle; uMsg: DWORD;
  lParam1, lParam2: LongInt): LongInt; stdcall;
var
  NewCplInfo: PNewCplInfo;
begin
  Result := 0;
  case uMsg of
    {Инициализация должна возвращать True.}
    CPL_INIT:
      Result := 1;
    {Число апплетов}
    CPL_GETCOUNT:
      Result := 1;
    {Помещаем информацию об этом апплете в Панель управления.}
    CPL_NEWINQUIRE:
      begin
        NewCplInfo := PNewCplInfo(lParam2);
        with NewCplInfo^ do
        begin
          dwSize := SizeOf(TNewCplInfo);
          dwFlags := 0;
          dwHelpContext := 0;
          lData := 0;
          {Иконка для отображения на Панели Управления.}
          hIcon := LoadIcon(HInstance, 'MAINICON');
          {Имя апплета}
          szName := 'Project1';
          {Описание этого апплета.}
          szInfo := 'Это тестовый апплет.';
          szHelpFile := '';
        end;
      end;
    {Выполнение апплета.}
    CPL_DBLCLK:
      ExecuteApp;
  else
    Result := 0;
  end;
end;

{Экспортирование функции CplApplet}
exports
  CPlApplet;
begin

end.

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования