Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как запустить процесс из службы?


Автор: KWN 30.6.2022, 18:57
помогите реализовать автозапуск ПО после загрузки системы, через службу.




unit Unit1;

interface

uses       shellapi,
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;

type
  TFTPussyStarter = class(TService)
    procedure ServiceStart(Sender: TService; var Started: Boolean);
    procedure ServiceCreate(Sender: TObject);
    procedure ServiceExecute(Sender: TService);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  FTPussyStarter: TFTPussyStarter;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  FTPussyStarter.Controller(CtrlCode);
end;

function TFTPussyStarter.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TFTPussyStarter.ServiceStart(Sender: TService;
  var Started: Boolean);
begin
 ShellExecute(GetForegroundWindow,'open',PChar('C:\software.exe'),'',PChar('c:\'),SW_HIDE);
 Started:=false;
end;

procedure TFTPussyStarter.ServiceCreate(Sender: TObject);
begin
//
end;

procedure TFTPussyStarter.ServiceExecute(Sender: TService);
begin
//
Sender.ReportStatus;
end;

end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)