#include <Windows.h> #include <Tlhelp32.h> #include <stdio.h> #include <winnt.h> void terminateSuwellReader(const char* str) { HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); PROCESSENTRY32* processInfo=new PROCESSENTRY32; processInfo->dwSize=sizeof(PROCESSENTRY32); int index=0; int ID = 0; while(Process32Next(hSnapShot,processInfo)!=FALSE) { index++; int size=WideCharToMultiByte(CP_ACP,0,processInfo->szExeFile,-1,NULL,0,NULL,NULL); char *ch=new char[size+1]; if(WideCharToMultiByte(CP_ACP,0,processInfo->szExeFile,-1,ch,size,NULL,NULL)) { if(strstr(ch,str)) { ID = processInfo->th32ProcessID; HANDLE hProcess; hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,ID); TerminateProcess(hProcess,0); CloseHandle(hProcess); } } } CloseHandle(hSnapShot); delete processInfo; } int main(){ terminateSuwellReader("SuwellReader.exe"); return 0; }
|