服务(Service)的概念及常见问题

概念:
1.只在Windows NT以上的版本中才有服务。
2.用服务管理器(SCM)来管理服务(启动、停止、禁用等)
3.服务的启动方式:
a)自动:当操作系统启动后自动启动,在登录前就已经启动
b)手动:必须手工启动。
4.服务所用的账号:SYSTEM(系统账号)

常见问题:
1.账号问题:在服务中直接调用GetUserName得到的账号是SYSTEM,如果想得到当前登录用户的账号,必须模拟用户。
2.服务启动的程序问题:在服务中直接调用CreateProcess或者ShellExec启动的进程还是服务,即该进程运行在SYSTEM账号下,如果想启动用户进程,需要使用CreateProcessAsUser。
3.注册表:在服务中访问HKEY_CURRENT_USER注册表键下的值,通过regedit一般看不到,如果想访问当前登录用户的注册表,必须模拟 用户,并且还要注意先关闭HKEY_CURRENT_USER键,即RegCloseKey(HKEY_CURRENT_USER)。
4.访问文件:在服务中访问文件最好是给出文件的全路径,因为服务是由系统启动的,所以当前的路径不是exe文件的路径。
5.UI显示:一般情况下,不在服务中显示UI,而应该由服务启动用户进程来显示UI。如果必须在服务中显示UI,则需要在安装服务时,把服务的属性加上SERVICE_INTERACTIVE_PROCESS。
6.删除服务:用API删除,不用命令行参数。 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值