Article ID: 108228
Article Last Modified on 11/21/2006
APPLIES TO
- Microsoft Win32 Application Programming Interface, when used with:
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
This article was previously published under Q108228
In Windows 3.1, the application programming interface (API) IsTask() can be
used to determine whether a process is still running or whether it has
terminated. As the help file indicates, this function is obsolete in the
Win32 API.
To get this functionality through the Win32 API, use the API
GetExitCodeProcess(). This function takes the handle as the first parameter
and returns the exit code or STILL_ACTIVE in the second parameter:
BOOL GetExitCodeProcess(hProcess, lpdwExitCode)
HANDLE hProcess;
LPDWORD lpdwExitCode;
As an alternative, you can also use WaitForSingleObject(). Pass the process
handle as the first parameter and a timeout value for the second parameter:
DWORD WaitForSingleObject(hObject, dwTimeout)
HANDLE hObject;
DWORD dwTimeout;
The process handle is signaled when the process terminates. Pass in 0
(zero) for the timeout if you would like to poll or start another thread to
wait with an INFINITE timeout value.
SUMMARY
Additional query words: 3.10 3.50 4.00
Keywords: kbhowto KB108228