Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как поместить приложение Delphi в Панель Управления

Delphi , Программа и Интерфейс , Процессы и Сервисы

Как поместить приложение 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 в Панель управления, вам нужно создать расширение Панели управления (CPL) вместо динамической библиотеки (DLL). Вот как изменить код:

Сначала измените имя модуля от Project1 до CplApplet. Затем замените расширение DLL на CPL.

Вот измененный код:

library CplApplet;  {Изменено от Project1}
uses
  Windows,
  Forms,
  Unit1 in 'Unit1.pas';  {Form1}

{$R *.RES}

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

{Callback-функция для экспорта в Панель управления}
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 := 'This is a test applet.';
          szHelpFile := '';
        end;
      end;
    {Выполнение апплета.}
    CPL_DBLCLK:
      ExecuteApp;
  else
    Result := 0;
  end;
end;

{Экспорт функции CPlApplet}
exports
  CPlApplet;

begin
end.

Затем вам нужно зарегистрировать файл CPL в Windows. Вы можете это сделать, создав ключ в реестре под HKEY_CLASSES_ROOT\TypeLib\{YourGUID}\CLSID. Например:

HKEY_CLASSES_ROOT\TypeLib\{12345678-1234-1234-1234-123456789012}\CLSID = "CplApplet"

Затем вам нужно добавить следующие значения в ключ реестра:

  • InprocServer32: Путь к вашему файлу CPL (например, C:\Path\To\CplApplet.cpl)
  • ThreadingModel: Apartment
  • CLSID: {YourGUID}

Когда вы зарегистрировали файл CPL, вы можете добавить его в Панель управления, навигируя по Control Panel > Add/Remove Programs > Configure > CplApplet.

Обратите внимание, что это только пример и вам может потребоваться изменить код дальше для соответствия вашим конкретным требованиям.

Чтобы поместить приложение Delphi в Панель Управления, нужно изменить расширение файла с 'dll' на 'cpl', поместить его в системную директорию и создать модуль Cpl, экспортирующий функцию CPlApplet.


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

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


:: Главная :: Процессы и Сервисы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-07-02 05:36:46/0.006270170211792/0