• 选择文件夹与文件


    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);
    }
    让数据变得更安全!
  • 相关阅读:
    [HEOI2016/TJOI2016]求和——第二类斯特林数
    RMAN备份脚本
    CF724E Goods transportation
    RMAN备份脚本--DataGuard primary
    [CEOI2017]Mousetrap
    healthcheck
    [学习笔记]斯特林数
    database.sql
    HDU 4372 Count the Buildings——第一类斯特林数
    orac
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5286442.html
Copyright © 2020-2023  润新知