c++ - 如何检查一个程序是否被windows服务启动并完美运行?

标签 c++ service

我有以下代码可以从我的 Windows 服务启动程序。当程序有 UI 时,我可以看到它在 session 0 中运行,但该进程未显示在任务管理器中。那么如何知道一个无UI程序是否被服务启动并完美运行呢?

SHELLEXECUTEINFO sei;
ZeroMemory( &sei, sizeof( SHELLEXECUTEINFO ) );
sei.cbSize = sizeof( SHELLEXECUTEINFO );
sei.fMask = 0;  
sei.lpVerb = NULL;
sei.nShow = SW_HIDE;
sei.lpFile = "display_A_Simple_Win32_Window.exe";   
sei.lpParameters=L"";

最佳答案

LPCTSTR mName = "name.exe";
hnd = CreateMutex(NULL, TRUE, mName);
if(GetLastError()==ERROR_ALREADY_EXISTS && WAIT_ABANDONED !=   WaitForSingleObject(hnd, 0x180)){
 ....................
    //name.exe was started//
 ................
            }

关于c++ - 如何检查一个程序是否被windows服务启动并完美运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29890622/

相关文章:

c++ - -fprofile-use 和 -fauto-profile 有什么区别?

c# - 从服务端访问 WCF 身份验证信息

service - 使用 gnu-parallel 无限期地进行 fork 进程,捕获单个退出错误并重生

java - 将 Tomcat(使用 Liferay)配置为 2012R2 服务时出现异常

c++ - 将 clock_gettime 移植到 windows

c++ - 如何在 C++ 中异步处理 native 套接字上的 https 请求响应

c++ - unordered_map 中用户定义类型的运算符重载()

android - FireBaseCloud如何启动 list 中注册的服务?

java - 如何使用 putExtra() 传递具有不同值的相同数据

c++ - 我如何将 boost::spirit X3 与 QString 结合使用?