ELPHI7 注册为系统服务项
比较不容易被删除的方法有注册为系统服务项,
这个你可以查查资料啊.delphi的话,
选择菜单
File-->New-->Other--->Service Application.
将生成一个服务程序的框架.
将工程保存为ServiceDemo.dpr
和Unit_Main.pas,然后回到主框架.
我们注意到,Service有几个属性.其
中以下几个是我们比较常用的:
(1)DisplayName:服务的显示名称
(2)Name:服务名称.
我们在这里将DisplayName的值
改为'Delphi服务演示程序',N
ame改为'DelphiService'.编译
这个项目,将得到 ServiceDemo.exe.
这已经是一个服务程序了!
进入CMD模式,切换致工程所在目录,
运行命令'ServiceDemo.exe /install',
将提示服务安装成功!
然后'net start DelphiService'
将启动这个服务.进入控制面版-->管理工具-->服务,
将显示这个服务和当前状态.
不过这个服务现在什么也干不了,
因为我们还没有写代码:)
先'net stop DelphiService'停止再'ServiceDemo.exe /uninstall'删除这个服务.
回到Delphi7的IDE.-------------------------------------------------
搜来的,已经成功了,问题是这个象DOS的小程序如何启动的我窗体呢?
比较不容易被删除的方法有注册为系统服务项,
这个你可以查查资料啊.delphi的话,
选择菜单
File-->New-->Other--->Service Application.
将生成一个服务程序的框架.
将工程保存为ServiceDemo.dpr
和Unit_Main.pas,然后回到主框架.
我们注意到,Service有几个属性.其
中以下几个是我们比较常用的:
(1)DisplayName:服务的显示名称
(2)Name:服务名称.
我们在这里将DisplayName的值
改为'Delphi服务演示程序',N
ame改为'DelphiService'.编译
这个项目,将得到 ServiceDemo.exe.
这已经是一个服务程序了!
进入CMD模式,切换致工程所在目录,
运行命令'ServiceDemo.exe /install',
将提示服务安装成功!
然后'net start DelphiService'
将启动这个服务.进入控制面版-->管理工具-->服务,
将显示这个服务和当前状态.
不过这个服务现在什么也干不了,
因为我们还没有写代码:)
先'net stop DelphiService'停止再'ServiceDemo.exe /uninstall'删除这个服务.
回到Delphi7的IDE.-------------------------------------------------
搜来的,已经成功了,问题是这个象DOS的小程序如何启动的我窗体呢?
而由一个普通的gui桌面程序去控制配置文件从而达到控制服务
设置为true时可以和Windows桌面进行交互
而且服务带界面的必须另开自己的线程.
ShellExecute()皆不成功。
Form2->Show(); 也一闪而过;看样子要用线程。
void __fastcall TMyTest::ServiceStart(TService *Sender, bool &Started)
{
Form2=new TForm2(NULL);
Form2->Show();
Started=true;
}
//---------------------------------------------------------------------------
void __fastcall TMyTest::ServiceExecute(TService *Sender)
{
while (!Terminated)
{
Sleep(100); // 减轻CPU负担
ServiceThread->ProcessRequests(false);
}
}
//---------------------------------------------------------------------------
简单完美搞定!!!!!搜到了DELPHI7服务 有关的博客
结贴!!!!!!!