C++ 删除文件(夹) 宽字符版 && 设置console程序图标

来源:互联网 发布:php表单提交系统源码 编辑:程序博客网 时间:2024/05/05 04:11
// rms_clean.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <stdio.h>#include <io.h>#include <string.h>#include <direct.h>#include <Windows.h>#include "Shlwapi.h"#include "resource.h"#pragma comment(lib, "shlwapi")int  removeDir(const TCHAR*  dirPath){struct _wfinddata_t fb; TCHAR  path[250];          long    handle;int  resultone;int   noFile;       noFile = 0;handle = 0;//制作路径wcscpy(path,dirPath);    wcscat (path,L"/*");handle = _wfindfirst(path,&fb);if (handle != 0){while (0 == _wfindnext(handle,&fb)){noFile = wcscmp(fb.name,L"..");if (0 != noFile){memset(path,0,sizeof(path));wcscpy(path,dirPath);wcscat(path,L"/");wcscat (path,fb.name);if (fb.attrib == 16){ removeDir(path);}else{DeleteFile(path);}}}_findclose(handle);}resultone = RemoveDirectory(dirPath);return  resultone;}int _tmain(int argc, _TCHAR* argv[]){HICON hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1));HWND hwnd = GetConsoleWindow();SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);TCHAR file_path[256] = {0};wcscpy(file_path,argv[1]);wcscat(file_path,L"/uninstall.bat");while (PathFileExists(file_path)){Sleep(1000);}removeDir(argv[1]);return 0;}