我有一个程序,可以作为简单的控制台应用程序运行,也可以注册为 Windows 服务。我想在main()函数中检测当前运行上下文:
#include <windows.h>
BOOL IsWindowsService()
{
???
}
int main(int argc, char** argv)
{
if (IsWindowsService())
{
// Running as Windows Service...
RunService();
return;
}
// Running as console application...
return 0;
}
Run Code Online (Sandbox Code Playgroud)
主要用例是拥有一个 exe 文件,可以使用“--install”和“--start”参数作为 Windows 服务安装和运行,或者在控制台模式下不带任何参数执行(例如从 VS 调试器)。
你能帮我实现一个可能的IsWindowsService()功能吗?