Современные решения

для защиты Windows приложений

и восстановления исходного кода
АвтъA: ыDизвестен. Дат? ??бликации: 22.08.2004

Как ????стит? ??ильEение Delphi ? Панел? У??ав??ыG?



Д?? ис????зоваыG? ап??ет? из??ыGте ег? расширение ? "dll" ъь "cpl" ? ????стит? ? системыR? дире??ъA??.

CODE NOW!

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-фуыIци? дл? ?????рт? ? Панел? У??ав??ыG?}

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

{Э????ртирьAание фуыIци? CplApplet}
exports
CPlApplet;
begin

end.





Комментарии

отсутствуют

Добавление комментария


Ваше имя (на форуме):

Ваш пароль (на форуме):

Комментарии могут добавлять только пользователи,
зарегистрированные на форуме данного сайта. Если Вы не
зарегистрированы, то сначала зарегистрируйтесь тут

Комментарий: