518抽獎(jiǎng)軟件源碼之:刪除文件夾及下面的所有文件

518抽獎(jiǎng)軟件源碼之:刪除文件夾及下面的所有文件

在開(kāi)發(fā)“518抽獎(jiǎng)軟件”的時(shí)候,每次導(dǎo)入一批新圖片的時(shí)候,要?jiǎng)h除原來(lái)的圖片文件夾。 本來(lái)遞歸刪除即可,應(yīng)該很快速的,但是在windows 10下發(fā)現(xiàn)刪除很慢,軟件會(huì)卡在那里,因?yàn)閣indows 10的安全性,里面很多智能的檢查。 軟件卡在那里總不行的,只能rename文件夾后,創(chuàng)建一個(gè)線程慢慢刪除那個(gè)文件夾,請(qǐng)參看下面源碼。

十多年的溧陽(yáng)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整溧陽(yáng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“溧陽(yáng)網(wǎng)站設(shè)計(jì)”,“溧陽(yáng)網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

Windows 10 下刪除文件夾及里面的文件源碼



void Tfuns::del_folder (const WCHAR* folder)
{
	if (*folder == 0) return; //!!

	WCHAR suffix[64] = { 0 };
	WCHAR tmpFolder[MAX_PATH] = { 0 };
	int len = wcslen(folder);

	//rename后的臨時(shí)文件夾的名字
	int seqno = 1;
GET_TMPFOLDER:
	wcscpy(tmpFolder, folder);
	if (tmpFolder[len - 1] == L'\\' || tmpFolder[len - 1] == L'/')
		tmpFolder[len - 1] = 0;
	swprintf(suffix, L"_toDel%d", seqno);
	wcscat(tmpFolder, suffix);
	if (PathFileExists(tmpFolder)) {
		seqno++;
		goto GET_TMPFOLDER;
	}

	if (_wrename(folder, tmpFolder) == 0)
	{
		wstring* p = new wstring(tmpFolder); //!! 必須的,線程傳遞參數(shù)
		HANDLE h = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Thread_delFolderW, (LPVOID)p, 0, 0);
		CloseHandle(h);
	}
}

static DWORD WINAPI Thread_delFolderW(LPVOID lpParameter)
{
	SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL);
	setlocale(LC_ALL, "");
	recursive_del(((wstring*)lpParameter)->c_str());
	delete ((wstring*)lpParameter);
	return 0;
}

static void recursive_del(const WCHAR* folder)
{
	WCHAR srch[MAX_PATH] = { 0 };
	WIN32_FIND_DATA wfd = { 0 };
	PathCombine(srch, folder, L"*.*");
	HANDLE h = FindFirstFile(srch, &wfd);
	if (h == INVALID_HANDLE_VALUE)
		return;

	while (1)
	{
		WCHAR file[MAX_PATH] = { 0 };
		PathCombine(file, folder, wfd.cFileName);

		if (wcscmp(wfd.cFileName, L".") == 0) { ; }
		else if (wcscmp(wfd.cFileName, L"..") == 0) { ; }
		else if (PathIsDirectory(file)) recursive_del(file);
		else {
			SetFileAttributes(file, FILE_ATTRIBUTE_NORMAL);
			DeleteFile(file);
		}

		if (!FindNextFile(h, &wfd)) break;
	}
	FindClose(h);

	SetFileAttributes(folder, FILE_ATTRIBUTE_NORMAL);
	RemoveDirectory(folder);
}


名稱欄目:518抽獎(jiǎng)軟件源碼之:刪除文件夾及下面的所有文件
網(wǎng)站地址:http://muchs.cn/article24/pdhice.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作域名注冊(cè)、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)