如何判断运行我的代码的应用程序是服务还是应用程序?为什么我想知道这个 - 我正在编写一些注入(inject)目标应用程序的代码,而该代码无法预先知道此信息,因此它必须自行解决。
我不能依赖从服务控制管理器、启动、停止或命令行参数调用的任何代码。
我目前正在查看 GetConsoleWindow()
,我希望它会为服务(无控制台)返回 NULL
并为任何应用程序(有控制台)返回窗口句柄).不确定这个假设的有效性。
有更好的解决方案吗?
最佳答案
从所有正在运行的服务(EnumServicesStatusEx
)列表中搜索当前进程 ID(GetCurrentProcessId
)?
关于c++ - 如何判断当前进程是否为服务(C++、Win32)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4625270/