How to terminate a program after I call it by ShellExecuteEx ?

Taipei_Chen522

New Member
How to terminate a program after I call it by ShellExecuteEx ?

SHELLEXECUTEINFO sfi;
TCHAR szFileName[128];

wcscpy(szFileName, TEXT("\\Windows\\calc.exe"));
memset(&sfi, 0, sizeof(sfi));
sfi.cbSize = sizeof(sfi);
sfi.fMask = SEE_MASK_NOCLOSEPROCESS;
sfi.hwnd = hDlg;
sfi.lpVerb = L"open";
sfi.lpFile = szFileName;
sfi.lpParameters = NULL;
sfi.lpDirectory = NULL;
sfi.nShow = SW_SHOWNORMAL;
ShellExecuteEx(&sfi);

Sleep(20000);
sfi.fMask = NULL;

TerminateProcess(sfi.hProcess, -1); <==Can not terminate calc.exe, why ?????
CloseHandle(sfi.hProcess);
 
Back
Top