#include <windows.h>#include <stdio.h>#include <shellapi.h>#include <tlhelp32.h>int SearchProcessByName(const char * process_name, int kill_if_found){int found = 0;PROCESSENTRY32 entry;entry.dwSize = sizeof(PROCESSENTRY32);HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);if (Process32First(snapshot, &entry) == TRUE){while (Process32Next(snapshot, &entry) == TRUE){if (_stricmp(entry.szExeFile, process_name) == 0){ HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);found++;if (NULL != hProcess && kill_if_found) {TerminateProcess(hProcess, 0);}CloseHandle(hProcess);}}}CloseHandle(snapshot);return found;}int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){int found = SearchProcessByName("notepad.exe", 0);AllocConsole();printf("Found %d instance(s).\n", found);SearchProcessByName("notepad.exe", 1);printf("Kill the process.\n");getchar();FreeConsole();return 0;}