Как поместить приложение 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^ dobegin
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;
beginend.
Для добавления вашего приложения Delphi в Панель управления, вам нужно создать расширение Панели управления (CPL) вместо динамической библиотеки (DLL). Вот как изменить код:
Сначала измените имя модуля от Project1 до CplApplet. Затем замените расширение DLL на CPL.
Вот измененный код:
libraryCplApplet;{Изменено от Project1}usesWindows,Forms,Unit1in'Unit1.pas';{Form1}{$R *.RES}procedureExecuteApp;beginApplication.Initialize;Application.CreateForm(TForm1,Form1);Application.Run;end;{Callback-функция для экспорта в Панель управления}functionCPlApplet(hwndCPl:THandle;uMsg:DWORD;lParam1,lParam2:LongInt):LongInt;stdcall;varNewCplInfo:PNewCplInfo;beginResult:=0;caseuMsgof{Инициализация должна возвращать True.}CPL_INIT:Result:=1;{Количество апплетов}CPL_GETCOUNT:Result:=1;{Место информации о этом апплете в Панели управления.}CPL_NEWINQUIRE:beginNewCplInfo:=PNewCplInfo(lParam2);withNewCplInfo^dobegindwSize:=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;elseResult:=0;end;end;{Экспорт функции CPlApplet}exportsCPlApplet;beginend.
Затем вам нужно зарегистрировать файл CPL в Windows. Вы можете это сделать, создав ключ в реестре под HKEY_CLASSES_ROOT\TypeLib\{YourGUID}\CLSID. Например:
Затем вам нужно добавить следующие значения в ключ реестра:
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
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.