选择目录对话框

void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls()
{
// 清空编辑框内容
m_Edit.SetWindowTextW(L"");
m_Edit2.SetWindowTextW(L"");
// 打开一个文件夹选择对话框(选择目录)
CFolderPickerDialog dlg;
// 设置对话框标题
dlg.m_ofn.lpstrTitle = TEXT("请选择清理目录");
// 点击了选择文件夹才去清理垃圾
if (dlg.DoModal() == TRUE)
{
// 获取选则的目录
CString path = dlg.GetFolderPath();
// 设置编辑框内容(m_Edit 是 CEdit 类型)
m_Edit.SetWindowTextW(path);
// 清理广告
ClsAd(path);
}
else
{
::MessageBox(, L"请选择清理目录!", L"提示", );
}
}

选择文件对话框

// 1、打开一个文件夹选择对话框
CFileDialog dlg(TRUE);
if (dlg.DoModal() == IDOK)
{
CString path = dlg.GetFolderPath();
// 2、获取选择的文件的后缀名,判断是否是DLL
CString path1 = dlg.GetFileName();
PCTSTR FileType = PathFindExtension(path1);
if (wcscmp(FileType, L".dll") != )
{
m_Edit2.SetWindowText(L"");
return;
}
// 3、将文件路径显示到编辑框
m_Edit2.SetWindowText(path + L"\\" + path1);
}

指定目录遍历文件

void C资源共享吧视频广告清理工具Dlg::ClsAd(const CString path)
{
// 调用FindFirstFile找到这个目录下的第一个文件/文件夹
WIN32_FIND_DATA fData = { };
HANDLE hFind = FindFirstFile(path + "\\*", &fData);
if (hFind == INVALID_HANDLE_VALUE)
{
::MessageBox(, L"查找文件失败!", L"提示", );
return;
}
// 再循环调用FindNextFile得到后续所有的文件/文件夹
do
{
CString strName(fData.cFileName);
// 过滤掉当前目录和上一级目录
if (wcscmp(fData.cFileName, L".") == || wcscmp(fData.cFileName, L"..") == )
{
continue;
}
// 查找广告文件删除
if (wcscmp(fData.cFileName, L"本教程由资源共享吧提供.url") == || wcscmp(fData.cFileName, L"下载必看.txt") == || wcscmp(fData.cFileName, L"更多精品教程.url") == )
{
CString strText = _T("");
// 获取编辑框2当前文本
m_Edit2.GetWindowTextW(strText);
// 拼接字符串
strText += path + L"\\" + strName + L"已删除!\r\n";
// 设置编辑框2文本
m_Edit2.SetWindowTextW(strText);
// 删除文件
DeleteFile(path + L"\\" + strName);
}
// 如果文件是一个文件夹的话, 就递归遍历
if (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
ClsAd(path + L"\\" + strName);
}
} while (FindNextFile(hFind, &fData));
}

MFC_选择目录对话框_选择文件对话框_指定目录遍历文件的更多相关文章

  1. scp从远程指定目录拷贝文件到本地指定目录

    scp从远程指定目录拷贝文件到本地指定目录 [root@picts ~]# cat /root/scp_pictures.sh #!/bin/bash # Function: copy files f ...

  2. webpack-dev-server将文件产出到指定目录

    默认情况下webpack-dev-server是将文件产出到内存中,写了一个插件 将文件产出到指定目录, 比较简易啊 哈哈哈 使用代码如下 const WebpackDevServerOutput = ...

  3. java中把文件拷贝到指定目录下最简单几种方法

    java中把文件拷贝到指定目录下最简单几种方法   String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...

  4. PPT文件流转为图片,并压缩成ZIP文件输出到指定目录

    实现流程: 接收InputStream流->复制流->InputStream流转为PPT->PPT转为图片->所有图片压缩到一个压缩文件下 注意: 1.PPT文件分为2003和 ...

  5. python实现上传文件到linux指定目录

    今天接到一个小需求,就是想在windows环境下,上传压缩文件到linux指定的目录位置并且解压出来,然后我想了一下,这个可以用python试试写下. 环境:1.linux操作系统一台2.window ...

  6. Java解压上传zip或rar文件,并解压遍历文件中的html的路径

    1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSe ...

  7. Linux下删除空文件,删除指定大小的文件

    Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...

  8. 利用gulp把本地文件移动到指定待发布文件夹

    一.目标 把本地的文件移动到待发布的文件中,把static_grab文件中file.txt所列文件列表移动到beta对应文件夹中: 二.实现 var gulp = require('gulp'), w ...

  9. linux文件夹操作及递归遍历文件夹

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...

  10. c#winform选择文件,文件夹,打开指定目录方法

    private void btnFile_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDia ...

随机推荐

  1. epoll 或者 kqueue 的原理是什么?

    来自知乎:http://www.zhihu.com/question/20122137 epoll 或者 kqueue 的原理是什么? 为什么epoll和kqueue可以用基于事件的方式,单线程的实现 ...

  2. Asp.net MVC 权限验证,以及是否允许匿名访问

    public class CheckUserAttribute : ActionFilterAttribute, IAuthorizationFilter { public void OnAuthor ...

  3. shell case例子

    -- --

  4. Linux中root用户找不到JAVA_HOME

    Linux中root用户找不到JAVA_HOME   在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubunt ...

  5. PG11开启WAL归档

    -创建归档目录 mkdir -p $PGDATA/archive_wals chown -R postgres.postgres $PGDATA/archive_wals -修改参数(在配置文件中配置 ...

  6. Flutter中通过普通的点击事件修改TextFormField的值

    import 'package:flutter/material.dart'; import 'package:zhongfa_apps/widget/public/PublicWidget.dart ...

  7. pycharm 2019.2 安装包失败

    简介: 最近使用学生账号注册了pycharm,貌似全家桶都可以免费用了,就升级了pycharm到最新版. 但是在使用包管理,安装包的时候出错了 提示没有匹配的版本,下面还提示一个 --trusted- ...

  8. CDH集群手动导入scm库

    一.手动导入 scm 库 背景:正常安装 cloudera-scm-server 时,安装 scm 库是通过脚本 /usr/share/cmf/schema/scm_prepare_database. ...

  9. [LeetCode] 291. Word Pattern II 词语模式 II

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  10. [LeetCode] 549. Binary Tree Longest Consecutive Sequence II 二叉树最长连续序列之 II

    Given a binary tree, you need to find the length of Longest Consecutive Path in Binary Tree. Especia ...