本文介绍了如果其他进程被杀死,则杀死我的进程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想编写一个启动一个进程并在另一个进程被杀死时杀死我的代码.

I want to write a code that starts a process and kills mine when the other process is killed.

您知道好的解决方案吗?

Do you know good solutions?

我当前的代码:

std::string exeFile{ ExePath() + "\\DTMlibrary.exe" };

if (is_file_exist(exeFile.c_str()))
{
    ShellExecute(NULL, "open", exeFile.c_str(), NULL, NULL, SW_SHOWDEFAULT);
    EndDialog(0);
}
else
{
    MessageBox("Setup DTMlibrary.exe not found ", "System Information", MB_ICONINFORMATION);
    EndDialog(0);
}

推荐答案

    SHELLEXECUTEINFO ShExecInfo = { 0 };
    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    ShExecInfo.hwnd = NULL;
    ShExecInfo.lpVerb = NULL;
    ShExecInfo.lpFile = exeFile.c_str();
    ShExecInfo.lpParameters = "";
    ShExecInfo.lpDirectory = NULL;
    ShExecInfo.nShow = SW_SHOW;
    ShExecInfo.hInstApp = NULL;
    ShellExecuteEx(&ShExecInfo);
    ShowWindow(SW_HIDE);
    WaitForSingleObject(ShExecInfo.hProcess, INFINITE);
    EndDialog(0);

这篇关于如果其他进程被杀死,则杀死我的进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-05 08:14