社区
进程/线程/DLL
帖子详情
一个程序,如何知道自身是以系统服务还是一般程序的形式运行?
viewerviewer
2009-03-17 11:58:12
一个程序,如何知道自身是以系统服务还是一般程序的形式运行?
若是系统服务,又如何知道自身在系统中所注册的服务名称?
谢谢!
...全文
55
5
打赏
收藏
一个程序,如何知道自身是以系统服务还是一般程序的形式运行?
一个程序,如何知道自身是以系统服务还是一般程序的形式运行? 若是系统服务,又如何知道自身在系统中所注册的服务名称? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnzdgs
2009-03-17
打赏
举报
回复
服务程序在WinMain函数中调用StartServiceCtrlDispatcher函数,注册自己所提供的所有服务名称及各自的ServiceMain入口地址。如果进程是作为服务被加载,该函数不会返回,服务管理器会根据启动的服务名称调用相应的ServiceMain函数。如果StartServiceCtrlDispatcher返回了,就说明是普通进程。
oyljerry
2009-03-17
打赏
举报
回复
EnumService()枚举系统服务,获得你当前程序的服务信息
oyljerry
2009-03-17
打赏
举报
回复
查看当前进程token等,获取是否为SYSTEM权限...
会思考的草
2009-03-17
打赏
举报
回复
取当前的用户名就行了。服务以SYSTEM账户运行。
jameshooo
2009-03-17
打赏
举报
回复
服务管理器启动服务进程时会增加一个命令行参数-service(好像是这个,忘了),在服务启动时打个日志看看。就算没有这种参数,也可以自己设计参数,在创建服务时指定启动参数即可,完全自由选择,你的程序根据命令行参数的不同来选择是以普通方式运行还是以服务方式运行。
Docker虚拟化容器
传统虚拟机技术是虚拟机出一套硬件后,在其上
运行
一个
完整操作
系统
,在该
系统
上在
运行
所需应用进程; 而容器内的应用进程直接
运行
于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要...
go分布式mapreduce与raft算法与分布式数据库
它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的
程序
运行
在分布式
系统
上。 当前的软件实现是指定
一个
Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来...
CMS后台管理
系统
可以有1个或多个Realm,我们一般在应用中都需要实现自己的RealmSessionManager如果写过Servlet就应该
知道
Session的概念,Session需要有人去管理它的生命周期,这个组件就是SessionManagerSessionDAODAO大家都用过,...
区块链之实战VM虚拟机开发
下面我们以QA的
形式
对涉及到的问题进行解答—— CPU资源 Q1: 合约
运行
最大能占用多少个进程,多少个线程?
一个
;
一个
或多个。Q2: 是否允许合约内开辟新线程?不允许。合约不应有操作
系统
级别的调用,而应由虚拟机层...
安装和配置 Citrix XenDesktop 7.1912
通过这
一个
课程的介绍,首先我们就能够了解到 Citrix 虚拟桌面和虚拟应用
程序
服务
的应用场景和特点,然后我们就可以在演示的环境当中,完成 Delivery Controller,Provisioning Service 不同组件的安装和初始化配置...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章