我想从我的c ++应用程序中关闭pdf文件。 我使用ShellExecuteEx打开pdf文件,然后我抓住了该过程的句柄。
std::string s = "myfile.pdf";
std::wstring stemp = std::wstring(s.begin(), s.end());
LPCWSTR sw = stemp.c_str();
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = sw;
ShExecInfo.lpParameters = NULL;
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_MAXIMIZE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
HANDLE handle = ShExecInfo.hProcess ;
//我现在可以关闭pdf文件了 TerminateProcess(handle,0);
我的问题是,如果acrobat是由另一个进程启动的,那么在我的应用程序启动之前,TerminateProcess(句柄,0)不会执行任何操作。 那我怎么能得到父处理? 谢谢