1. 程式人生 > >獲取啟動程序的退出碼

獲取啟動程序的退出碼

bject 啟動 sap eap winapi out nba ini 獲得

獲取程序的退出碼使用的是windowsAPI函數::GetExitCodeProcess();

函數原型為
WINBASEAPI
BOOL
WINAPI
GetExitCodeProcess(
in HANDLE hProcess,
out LPDWORD lpExitCode
);

可知第一個參數是進程句柄,第二個參數是傳出參數進程退出碼。

使用時先要獲取到進程的句柄,可使用系統API函數::OpenProcess(),返回值即進程句柄。

獲取退出碼時需要等待進程退出才有,否則獲取到的是不準確的退出碼。

此時可以使用函數::WaitForSingleObject();

參數傳入需要獲取的進程的句柄,第二個參數傳入INFINITE無限等待,當選定的程序退出時,即可獲得該程序的退出碼。

DWORD exitCode = 0;
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,748);
WaitForSingleObject(hProcess,INFINITE);
BOOL isGet = GetExitCodeProcess(hProcess,&exitCode);

獲取啟動程序的退出碼