读书人

VC下调用其他应用程序的有关问题

发布时间: 2012-01-19 20:57:58 作者: rapoo

VC下调用其他应用程序的问题?
如何在VC下调用其他应用程序 ,并等待该程序执行结束后才继续运行后面的部分。
原来在DOS下有个system函数可以的,不知道WINDOWS下有什么函数可以用。

用WinExec函数,只能调起其他应用程序,并不等待他结束 。

[解决办法]
SHELLEXECUTEINFO exeInfo;
exeInfo.cbSize = sizeof(SHELLEXECUTEINFO);
exeInfo.fMask = (SEE_MASK_DOENVSUBST|SEE_MASK_FLAG_DDEWAIT|0x04000000|SEE_MASK_NOCLOSEPROCESS|SEE_MASK_NO_CONSOLE);
exeInfo.hwnd = NULL;
exeInfo.lpVerb = "open ";
exeInfo.lpFile = (LPCTSTR)路径&文件名;
exeInfo.lpParameters = NULL;
exeInfo.lpDirectory = NULL;
exeInfo.nShow = SW_SHOWNORMAL;
exeInfo.hInstApp = NULL;
exeInfo.lpIDList = NULL;
exeInfo.lpClass = NULL;
exeInfo.hkeyClass = NULL;
exeInfo.dwHotKey = NULL;
exeInfo.hMonitor = NULL;
exeInfo.hIcon = NULL;
exeInfo.hProcess = NULL;

::ShellExecuteEx(&exeInfo);
if(exeInfo.hProcess)
{
::WaitForSingleObject(exeInfo.hProcess,INFINITE);
::CloseHandle(exeInfo.hProcess);
}

读书人网 >VC/MFC

热点推荐