Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2022, 21:42   #1
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию служба для запуска EXE

подскажите пожалуйста, почему не работает?

"C:\software.exe"/install проделал. после перезагрузки не запускается почему то software.exe

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Vcl.SvcMgr;

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

var
  Adobe_Updater: TAdobe_Updater;

implementation

uses ShellApi;

{$R *.dfm}

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

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

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

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

procedure TAdobe_Updater.ServiceStart(Sender: TService; var Started: Boolean);
begin
 ShellExecute( GetForegroundWindow, 'open', pchar('C:\software.exe'), nil, nil, SW_SHOW);

 Started := False;
end;



end.
AppData вне форума Ответить с цитированием
Старый 29.06.2022, 22:40   #2
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию

тоже не помогло! я уже всю голову сломал!

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Vcl.SvcMgr, Messages;

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


var
  Adobe_Updater: TAdobe_Updater;

implementation

uses ShellApi;

{$R *.dfm}


procedure RunApp(str: pchar);
var
struc1: PSTARTUPINFO;
struc2: PROCESS_INFORMATION;
begin

getmem(struc1, sizeof(TSTARTUPINFO));

struc1^.lpDesktop := PChar('winsta0\default');
struc1^.dwFlags := STARTF_USESHOWWINDOW;
struc1^.wShowWindow := SW_SHOW;

CreateProcess(nil, str, nil, nil, False,
NORMAL_PRIORITY_CLASS,
nil, nil, struc1^, struc2);

end;


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

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

procedure TAdobe_Updater.ServiceCreate(Sender: TObject);
begin

end;

procedure TAdobe_Updater.ServiceExecute(Sender: TService);
begin

end;


procedure TAdobe_Updater.ServiceStart(Sender: TService; var Started: Boolean);
begin
 RunApp('C:\software.exe');
end;



end.
AppData вне форума Ответить с цитированием
Старый 30.06.2022, 02:46   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

А где код "software.exe"?
northener вне форума Ответить с цитированием
Старый 30.06.2022, 11:08   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Служба после висты просто так никогда не запустит обычное приложение.
p51x вне форума Ответить с цитированием
Старый 30.06.2022, 13:57   #5
AppData
Форумчанин
 
Регистрация: 20.09.2013
Сообщений: 246
По умолчанию

я добился запуска программы. но теперь вопрос! почему служба сама не запускает программу автоматический после запуска Windows. то есть, если я запущу через службы. он работает правильно! а автоматический не срабатывает
AppData вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Служба "Служба профилей пользователей" Xezon Операционные системы общие вопросы 3 25.03.2014 16:54
Стереть параметры запуска после запуска Anton911 Общие вопросы Delphi 18 14.04.2013 15:17
Служба .NET Form_13 Общие вопросы .NET 1 30.10.2011 10:53
Служба OrdJONY Win Api 5 10.10.2007 12:14
служба MAcK Win Api 3 04.12.2006 20:05