Delphi 服务程序[1] 介绍

Delphi 服务程序[1] 介绍

1、系统服务优点:

  • 随系统启动而启动,不需要用户手动执行,适合做后台检测程序等
  • 不用登录系统即可运行
  • 在后台运行,不与Windows桌面相互影响
  • 拥有System权限,在任务管理器中无法结束运行

2、系统服务和桌面程序的区别是:

  • 系统服务不用登陆系统即可运行;
  • 系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的;
  • 系统服务拥有更高的权限,系统服务拥有Sytem的权限,而桌面程序只有Administrator权限;
  • 在Delphi中系统服务是对桌面程序进行了再一次的封装,既系统服务继承于桌面程序。因而拥有桌面程序所拥有的特性;
  • 系统服务对桌面程序的DoHandleException做了改进,会自动把异常信息写到NT服务日志中;
  • 普通应用程序启动只有一个线程,而服务启动至少含有三个线程。(服务含有三个线程:TServiceStartThread服务启动线程;TServiceThread服务运行线程;Application主线程,负责消息循环);

3、Windows不建议在服务程序中与桌面有交互:

  • 在Windows Xp及以前的版本Windows服务和用户桌面还运行在一个session下,所以服务程序还可以比较轻松的与桌面进行交互。
  • 但是自Windows Vista及以后的系统中,服务程序是运行于session0中,而第一个启动的用户则运行于session1中,要想在服务中显示桌面或者与桌面程序交互要使用很复杂的技术,甚至用CreateProcess和ShellExecute启动的应用程序都无法在用户桌面中显示。

 

4、Delphi 创建服务步骤:

New->Other->Service Application

 

 

 

创建时间:2021.01.21  更新时间:

 

posted on 2021-01-21 08:34  滔Roy  阅读(562)  评论(0编辑  收藏  举报

导航