NT服务程序如何SHOW个FORM出来???顶贴有分!!
解决方案 »
- 怎么获取本机的端口信息?
- DELPHI中怎样定义一个全局对象?
- 线程里创建com对象,提示没调用CoInitialize
- 请问如何把SQL数据库里查询出来的日期给DateTimePicker?
- 麻烦大家告诉Memo控件和colorGird控件在Delphi6的哪里啊???
- 求delphi里的所有组件的方法、属性说明~~~要中文的!
- 怎么样在桌面数据库:paradox7里边把一个表的一列复制到另一个表?(在线等)
- 代码问题,帮我看看(在线等候)
- 谁有combobox控件能指定listsource
- 为什么memo的event中有一些的下拉菜单没有过程,而有一些又有?
- 动态创建的idhttp如何获得重定向后的URL
- delphi操作excel最好用什么方式?
unit Unit0;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;
type
TService1 = class(TService)
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceExecute(Sender: TService);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
procedure ServicePause(Sender: TService; var Paused: Boolean);
procedure ServiceContinue(Sender: TService; var Continued: Boolean);
private
{ Private declarations }
fPaused : boolean;
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service1: TService1;
implementation
uses Unit2, MainUnit, UnitDMMain;
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service1.Controller(CtrlCode);
end;
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
//MainForm.Close;
Stopped := false;
if MainForm.CloseQuery then
begin
ServiceThread.Terminate;
fPaused := TRUE;
Stopped := TRUE;
MainForm.Free;
end;
end;
procedure TService1.ServicePause(Sender: TService; var Paused: Boolean);
begin
Paused := True;
fPaused := TRUE;
end;
procedure TService1.ServiceContinue(Sender: TService;
var Continued: Boolean);
begin
Continued := True;
fPaused := FALSE;
end;
function TService1.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);
begin
Started := TRUE;
//DM_Main:=TDM_Main.Create(self);
MainForm:=TMainForm.Create(self);
//msgbox('dssdaf');
//MainForm.FormShow(MainForm);
MainForm.Show;
//MainForm.wmsyscommand();
end;
procedure TService1.ServiceExecute(Sender: TService);
begin
while not Terminated do begin
if not fPaused then begin
Sleep(0);
end;
ServiceThread.ProcessRequests(FALSE);
end;
end;
end.