zoukankan      html  css  js  c++  java
  • 选择文件夹与文件

    void CFileCleanerDlg::OnBnClickedButton2()
    {
    
        //打开文件夹
        static TCHAR strDirName[MAX_PATH];
    
        BROWSEINFO bi;
    
        CString szString = TEXT("选择一个源文件子文件夹");
    
        bi.hwndOwner = ::GetFocus();
    
        bi.pidlRoot = NULL;
    
        bi.pszDisplayName = strDirName;
    
        bi.lpszTitle = szString;
    
        bi.ulFlags = BIF_BROWSEFORCOMPUTER | BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS;
    
        bi.lpfn = NULL;
    
        bi.lParam = 0;
    
        bi.iImage = 0;
    
    
    
        LPITEMIDLIST pItemIDList = ::SHBrowseForFolder(&bi);
    
        if (pItemIDList == NULL)
    
        {
    
            return;
    
        }
    
    
    
        ::SHGetPathFromIDList(pItemIDList, strDirName);
    
    
    
        CString str = strDirName;
    
    ////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////////
    //打开文件
    
    
        ////1.字符串数组,用来保存对话框选择的文件路径,一般声明为成员变量
        //TCHAR m_szFilePath[MAX_PATH] = {};
        ////2.0获取桌面路径(对话框打开后的默认初始路径,可写可不写)
        //TCHAR szDir[MAX_PATH] = { 0 };
        ////2.1 CSIDL_DESKTOP代表桌面,想获得其余默认路径的值查找MSDN
        ////CSIDL_DESKTOP 所代表的参数值不同,默认文件路径不同
        //SHGetSpecialFolderPath(NULL, szDir, CSIDL_DESKTOP, NULL);
    
        ////打开选择文件对话框API:GetOPenFIleName(OPENFILENAME ofn)
        ////这些都是参数,给OPENFILENAME结构体赋值
        //OPENFILENAME ofn = { sizeof(OPENFILENAME) };
        //TCHAR szFileName[MAX_PATH] = { 0 };
        //ofn.Flags = OFN_HIDEREADONLY;
        //ofn.hwndOwner = NULL;
        ////这个是文件过滤,显示扩展名为什么的文件
        ////需要添加过滤条件的按套路添加
        //TCHAR szFilter[] = TEXT("EXE Files(*.exe)*.exe")
        //                   TEXT("DLL File(*.dll) * .dll")
        //                   TEXT("ALL Files(*.*) * .*");
        //ofn.lpstrFilter = szFilter;
        //ofn.nMaxFile = MAX_PATH;
        //ofn.nMaxFileTitle = MAX_PATH;
        ////上边都是套路,下面这三个根据选择设置为临时变量或成员变量
        //ofn.lpstrFile = m_szFilePath;//文件名:1.text
        //ofn.lpstrFileTitle = szFileName;//全路径: D:1231.txt
        //ofn.lpstrInitialDir = szDir;//文件所在路径; D:123
        ////上面都是为这个API服务的
        //if (!GetOpenFileName(&ofn))
        ////    return;
        /*m_pathValue = m_szFilePath;*/
        m_pathValue = str;
        UpdateData(FALSE);
    }
    让数据变得更安全!
  • 相关阅读:
    用Taro写一个微信小程序——版本升级
    matlab subplot 的边距(with tight margins)
    Nginx(Tengine) 解决 unknown directive "stream" 问题
    MinIO 分布式集群搭建
    Docker 及 Docker Compose 日常操作(团队培训材料)
    基于 AdoptOpenjdk 官方 Dockerfile 制作 jre8 镜像(修改字符集和时区)
    Syncthing 开源文件同步工具
    Harbor 2.2.0 搭建与使用
    Centos7 使用 chronyd 进行时钟同步
    Centos7 安装 Python3 及配置国内源、虚拟环境
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5286442.html
Copyright © 2011-2022 走看看