问题是这样子的:              我从CFileDialog派生了一个类,并重载了派生类的DoModal函数。
              在重载函数里我使用了GetSaveFileName函数获取当前选择的路径。              为什么调试的时候只要代码走过了GetSaveFileName,被选择的文件夹就不能被删除了?提示有程序在使用它?
              
              GetSaveFileName会对选择的文件夹采取什么样的操作?会设置什么保护吗?              请高手指教!

解决方案 »

  1.   

    你的思路比较乱,首先,重载DoModal函数没什么意义,因为这个函数是自己调用的,把打算加在DoModal里面的代码放到外面一样可以执行;另外,CFileDialog类和GetSaveFileName的作用是相同的,两者只需要用其中一个。
    不知道你想要实现什么?
      

  2.   


    那就单纯说一说GetSaveFileName这个函数吧,当使用它选择了一个文件夹之后,会不会对被选中的文件夹设置什么保护措施?
      

  3.   

    如果用户指定了一个文件名且点击OK按钮,返回值为非零值。由OPENFILENAME结构中的归IpstrFile成员指向的缓冲区含有全路径和用户指定的文件名。如果用户取消或关闭Save对话框或错误出现,返回值为零.
    看看 GetSaveFileName 的返回值 
    还有就是和楼上其他说的一样
    有可能是其他地方的问题
      

  4.   

    在文件选择对话框中打开(进入)一个文件夹时,该文件夹会被设置为当前进程的工作目录,任意一个进程的工作目录都是不允许被删除的。你可以通过SetCurrentDirectory把工作目录该到其它路径,然后再删除。