用 system("tasklist ...>> a.log"); 转向到a.log 文件
查 a.log
用
system("TASKKILL /F /IM 456.exe"); 去掉它。
详细 tasklist 和 TASKKILL 选项 见帮助文件 (DOS 窗 打 tasklist /?)(DOS 窗 打 TASKKILL /?)
下面的一段代码是关闭任务管理器的.你试一下.我是在控制台下写的.
任务管理器应该可以屏蔽掉的,你到网上找一下,应该有相关的知识.
你已屏蔽了键盘输入是什么意思?那样的话,怎么开锁?在编写这类程序的时候,最好是先给程序留一个后门,比如:按F1退出程序.要不然后话,很容易就输入不了信息,只能重启电脑了.
#include
//#include
#include
#include
#pragma comment(lib, "Kernel32.lib")
int main()
{
HANDLE hProcessSnap = NULL;
PROCESSENTRY32 process32;
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
process32.dwSize = sizeof(PROCESSENTRY32);
BOOL b = Process32First(hProcessSnap, &process32);
HANDLE hProcess;
while (b)
{
CString strTempName;
strTempName.Format("%s", process32.szExeFile);
if (strTempName.Find("taskmgr") != -1)
{
DWORD dwId = process32.th32ProcessID;
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwId);
if ( NULL == hProcess )
{
return 0;
}
//printf("%d", GetLastError());
TerminateProcess(hProcess, 0);
//printf("%d", GetLastError());
CloseHandle(hProcess);
}
b = Process32Next(hProcessSnap,&process32);
}
return 0;
}