如何判断当前进程是否为服务(C++,Win32)?

Ste*_*ett 2 c++ winapi

如何判断我的代码运行的应用程序是在服务还是应用程序中?为什么我想知道这一点 - 我正在编写一些注入目标应用程序的代码,而且代码无法预先知道这些信息,所以它必须自己解决.

我不能依赖从服务控制管理器调用的任何代码,启动,停止或命令行参数.

我正在查看GetConsoleWindow()我希望将为NULL任何应用程序(具有控制台)返回服务(无控制台)和窗口句柄.不确定这个假设有多有效.

想要更好的解决方案吗?

kbj*_*klu 7

GetCurrentProcessId从所有正在运行的服务(EnumServicesStatusEx)列表中搜索当前进程id ()?