如何检测进程是否作为服务进行安装

我创build了一个应该作为服务和应用程序运行的win32应用程序。 当我点击并运行它时,它应该作为应用程序运行。 当从服务控制器调用时,应该检测到它和分支作为服务运行。 我如何检测这个,而不通过参数? mr.abzadeh

如何将控制台应用程序更改为Windows窗体应用程序?

C#和部分工作的SendMessage?

有没有什么简单的方法来确定popup菜单被解雇?

Pip不会在Windows上安装Twisted

Python _自动截图taker_with成绩单

传统的(最简单的)方法调用StartServiceCtrldispatcher() ,如果失败,则假定您没有作为服务运行。 这在实践中效果很好,虽然技术上我不相信微软保证它会这样做。

如果您想要更健壮的方法,您可以检查您的安全令牌 ,看它是否包含服务SID ,S-1-5-6。 但是,为了使其发挥作用,您必须确保服务配置为非零SID类型 ,即使用SERVICE_SID_TYPE_UNRESTRICTED或SERVICE_SID_TYPE_RESTRICTED 。

注意:我试图按照书面的方式来回答这个问题,但是更好的解决方案是按照注释中的讨论设置一个命令行参数。 您可以在CreateService()的lpBinaryPathName参数中包含命令行参数。 您的main()函数将以与普通命令行应用程序相同的方式接收这些参数。

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...