选择文件操作

  1. 1. 选择文件,一个WIN API就OK  GetOpenFileName

  2. OPENFILENAME om;
     ZeroMemory(&om,sizeof(om)); //必须清空
     om.lStructSize = sizeof(om);
     om.nMaxFile = MAX_PATH;
     om.nMaxFileTitle = MAX_PATH;//上面三个大小必须填充
    
     om.lpstrFilter = "TXT\0*.txt\0" "PDF\0*.pdf\0\0";//需要固定打开的文件类型,每种类型就是一个字符串,传进去的应该是个字符串组
     
     char file[MAX_PATH]={0};
     char filename[MAX_PATH] = {0};
    
     om.lpstrFile = file;//用来存放文件路径,这儿缓冲区必须初始化,直接用会崩溃
     om.lpstrFileTitle = filename;//同上面一样
    
     
    
     ::GetOpenFileName(&om);
     AfxMessageBox(file);
     AfxMessageBox(filename);

    2. 为保存文件选择路径,同选择文件一样有个对应的API GetSaveFileName。方法基本相同。

    3.还有一个更好用的,目录文件都可以选择的API SHBrowseForFolder,不过这个API要同SHGetPathFromIDList搭配使用

     char path[MAX_PATH] = {0};
     BROWSEINFO bi;
     ZeroMemory(&bi,sizeof(bi));
     bi.ulFlags = BIF_BROWSEINCLUDEFILES;
    
        LPITEMIDLIST pList = ::SHBrowseForFolder(&bi);
     ::SHGetPathFromIDList(pList,path);
     AfxMessageBox(path);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值