不一定会退出程序,如果返回到APP里的DoModal又没地其它的就会中毁退出程序。卖丛备。可以用AfxGetMainWnd()->PostMessage(WM_QUIT,0,0)退出程序
如果代码实现的话可以这么写:
void KillProcess(TCHAR target[]){
DWORD aps[1024], cbNeeded, cbNeeded2, i
TCHAR buffer[256]
BOOL killed
HANDLE hProcess
HMODULE hModule
killed = FALSE
EnumProcesses(aps, sizeof(aps), &cbNeeded) for(i = 0 i < cbNeeded/sizeof(DWORD) ++i)
{
if(!(hProcess = OpenProcess(PROCESS_TERMINATE |
PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,FALSE, aps[i])))
continue
好蚂 if(!EnumProcessModules(hProcess, &hModule,
sizeof(hModule), &cbNeeded2))
continue
GetModuleBaseNameA(hProcess, hModule, buffer, 256)
if(lstrcmpi(buffer, target) == 0)
{
if(TerminateProcess(hProcess, 0))
killed = TRUE
源御 CloseHandle(hProcess)
break
}
CloseHandle(hProcess)
友裂埋 }
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)