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

Как заказать сервисный процесс

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



Автор: Admin
WEB-сайт: http://forum.vingrad.ru

unit Stealth;

interface
uses
  WinTypes, WinProcs, Classes, Forms, SysUtils, Controls, Messages;

type
  TStealth = class(TComponent)
  private
    fHideApp: Boolean;
    procedure SetHideApp(Value: Boolean);
  protected
    { Protected declarations }
    procedure HideApplication;
    procedure ShowApplication;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    // procedure Loaded; override;
  published
    { Published declarations }
    property HideApp: Boolean read fHideApp write SetHideApp default false;
  end;

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall;
  external 'KERNEL32.DLL';

procedure Register;

implementation

destructor TStealth.Destroy;
begin
  ShowApplication;
  inherited destroy;
end;

constructor TStealth.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  // fHideform := true;
end;

procedure TStealth.SetHideApp(Value: Boolean);
begin
  fHideApp := Value;
  if Value then
    HideApplication
  else
    ShowApplication;
end;

procedure TStealth.HideApplication;
begin
  if not (csDesigning in ComponentState) then
    RegisterServiceProcess(GetCurrentProcessID, 1);
end;

procedure TStealth.ShowApplication;
begin
  if not (csDesigning in ComponentState) then
    RegisterServiceProcess(GetCurrentProcessID, 0);
end;

procedure Register;
begin
  RegisterComponents('My', [TStealth]);
end;

end.

Программный модуль на языке Delphi, который определяет компонент TStealth, используемый для скрытия и отображения приложения. Компонент использует функцию RegisterServiceProcess из библиотеки KERNEL32.DLL для регистрации или.unregistering приложения как сервисного процесса.

Вот разбивка кода:

  • Класс TStealth наследуется от TComponent и имеет три приватные переменные: fHideApp, fHideForm и переменную-экземпляр для владельца компонента.
  • Процедура SetHideApp устанавливает значение fHideApp и вызывает либо процедуру HideApplication, либо ShowApplication, в зависимости от нового значения.
  • Процедура HideApplication регистрирует приложение как сервисный процесс, используя RegisterServiceProcess с параметром dwType, установленным в 1.
  • Процедура ShowApplication unregistering приложение как сервисный процесс, используя RegisterServiceProcess с параметром dwType, установленным в 0.
  • Конструктор Create инициализирует компонент и устанавливает его владельца.
  • Деструктор Destroy отображает приложение перед уничтожением.
  • Процедура Register регистрирует компонент TStealth в IDE Delphi.

Чтобы использовать этот компонент, вам нужно создать экземпляр TStealth в коде дизайна или runtime и установить свойство HideApp в True или False, как необходимо. Например:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Stealth1 := TStealth.Create(nil);
  Stealth1.HideApp := True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Stealth1.Free;
end;

В этом коде создается экземпляр TStealth и устанавливается свойство HideApp в True, когда форма создается. Когда форма уничтожается, компонент освобождается.

Обратите внимание, что этот код предполагает, что вы включили units WinTypes, WinProcs, Classes, Forms, SysUtils, Controls и Messages в ваш проект. Кроме того, убедитесь, что регистрируете компонент TStealth в IDE Delphi, вызвав процедуру Register в unit, который загружается на дизайн- время.

Если у вас есть конкретные вопросы по использованию этого компонента или вам нужна дополнительная помощь, пожалуйста, не стесняйтесь спрашивать!

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


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:07:53/0.0058820247650146/0