在CFileDialog类中如何设置,才能使文件列表中只显示即插即用设备,比如我的电脑中的G和F盘是U盘设备,我必须要把目前的文件保存在U盘中,所以文件列表中只能显示U盘设备,当然这个U盘所在的盘符是未知的,对于每台电脑都是不一样的。这样的话我该怎么做,只要用CFileDialog类设置好参数就可以?还是要重载CFileDialog?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4590/4590850.xml?temp=.7551691
      

  2.   

    我看了楼上给的资料,没有做出来,在这个地方出错bi.lpfn = BrowseCallbackProc;
    错误信息是:error C2440: '=' : cannot convert from 'int (__stdcall CMyFileDialog::*)(struct HWND__ *,unsigned int,long,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,long,long)'
    CMyFileDialog是我自己定义的一个类,继承自CFileDialog,不知道为什么。
    大家有没有其他的方法,或者给个例子看看怎么使用SHBrowseForFolder。
      

  3.   

    楼上给的资料我测试通过了,可是突然发现一个问题,我要求不是浏览文件夹,而是要保存文件,用SHBrowseForFolder只能浏览文件夹而不能将当前文件保存下来。
    我要求是保存文件时,在显示磁盘的树状结构中只显示可移动设备,其他设备比如:C:盘,D:盘等等都不显示,哪位大侠有解决的办法,谢谢了!