SHELLEXECUTEINFO si;
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SEE_MASK_NOCLOSEPROCESS;
si.lpVerb = _T("open");
si.lpFile = _T("notepad.exe");
si.nShow = SW_SHOWNORMAL;
ShellExecuteEx(&si);
DWORD dwExitCode;
GetExitCodeProcess(si.hProcess,&dwExitCode);
while (dwExitCode == STILL_ACTIVE)
{
Sleep((DWORD)5);
GetExitCodeProcess(si.hProcess, &dwExitCode);
}
CloseHandle(si.hProcess);
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SEE_MASK_NOCLOSEPROCESS;
si.lpVerb = _T("open");
si.lpFile = _T("notepad.exe");
si.nShow = SW_SHOWNORMAL;
ShellExecuteEx(&si);
DWORD dwExitCode;
GetExitCodeProcess(si.hProcess,&dwExitCode);
while (dwExitCode == STILL_ACTIVE)
{
Sleep((DWORD)5);
GetExitCodeProcess(si.hProcess, &dwExitCode);
}
CloseHandle(si.hProcess);
本文详细介绍了如何使用ShellExecuteEx函数在Windows环境下打开Notepad.exe,并通过循环检查进程状态直到其完全关闭的过程。
3万+

被折叠的 条评论
为什么被折叠?



