c ++如何使用TerminateProcess关闭PDF文件和子进程句柄

时间:2015-07-02 15:12:19

标签: c++ pdf shellexecute

我想从我的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)不会执行任何操作。 那我怎么能得到父处理? 谢谢

0 个答案:

没有答案