![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TService + запуск программы
lm2 © (2004-12-27 15:31:00)Как правильно запустить любое приложение из сервиса? Пробовал ShellExecute и CreateProcess, программа запускается, но в режиме SW_HIDE.
lm2 (2004-12-27 17:30:00) [1]Спасибо всем, буду пробовать!
sniknik (2004-12-27 17:26:00) [2]> А как-то программно можно сделать
Рамиль (с) (27.12.04 17:16) [6]
... - Interactive
Рамиль (с) (2004-12-27 17:16:00) [3]И у Tservice есть property соответствующее, галочка тогда появится при регистрации.
lm2 (2004-12-27 17:16:00) [4]>>sniknik ©
Опс, спасибо тебе, не заметил этой фишки
А как-то программно можно сделать, так чтоб галочка эта стояла уже при установке сервиса?
sniknik (2004-12-27 17:07:00) [5]галочку поставить в настройке службы. (так и называется "разрешить взаимодействие с рабочим столом)
lm2 (2004-12-27 16:54:00) [6]>>sniknik ©
А как организовать это взаимодействие?
lm2 (2004-12-27 16:53:00) [7]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, ShellApi;
type
TService1 = class(TService)
procedure ServiceExecute(Sender: TService);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service1: TService1;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service1.Controller(CtrlCode);
end;
function TService1.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TService1.ServiceExecute(Sender: TService);
begin
ShellExecute(0, 'open', 'calc', '', nil, SW_SHOWNORMAL);
try
while not Terminated do
ServiceThread.ProcessRequests(True);
finally
end;
end;
end.
sniknik (2004-12-27 16:45:00) [8]взаимодействие сервиса с рабочим столом не стоит скорее всего.
Fay (2004-12-27 16:39:00) [9]Код где?