BOOL bTerminateProcess = FALSE;
HWND hwndException = NULL;
BOOL CALLBACK EnumWindowsProc(_In_ HWND hwnd, _In_ LPARAM lParam)
{
char wcText[MAX_PATH * 8] = {0};
GetWindowText(hwnd, wcText, MAX_PATH * 8);
if (_stricmp(wcText, "CarCapture.exe - 应用程序错误") == 0 || _stricmp(wcText, "Microsoft Visual C++ Runtime Library") == 0){
hwndException = hwnd;
bTerminateProcess = TRUE;
}
return true;
}
BOOL bRet = EnumWindows(EnumWindowsProc, NULL);
if (bTerminateProcess){
{
DWORD dwPID = 0;
GetWindowThreadProcessId(hwndException, &dwPID);
if (ProcessPrivilege(TRUE)){
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
if(hProcess != NULL){
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
}
TerminateProcess(GetCurrentProcess(), 0);
}