目录删除 MFC 的问题
Problems with directory deletion MFC
我正在做一个 mfc 程序,其中我创建了一个目录来存储 dicom 图像
CreateDirectory(Directory_name,NULL);
并成功创建了文件夹, 之后,我使用这个dicom图像文件夹来执行体积渲染,它也运行良好。
之后,当我尝试删除包括dicom文件在内的目录时,除了我提供给体积渲染过程的文件夹的最后一个dicom文件外,所有内容都将被删除。 这是什么概念? 如何删除它?
在 Windows 下,您无法在文件打开时将其删除。
如果您直接使用 Windows 函数,特别是使用CreateFile
打开文件,您可以将FILE_FLAG_DELETE_ON_CLOSE
传递给(显然足够(在关闭每个文件后立即将其删除。
如果(更有可能(您几乎使用任何其他方式打开文件(iostream
s,FILE *
s,CFile
等(,那么您几乎会陷入这样一个事实,即您需要关闭文件才能删除它们。如果文件在子进程中打开,通常需要等待该进程完成并关闭文件,然后再尝试删除文件。
同样,您的选项在某种程度上取决于您如何创建子进程。如果直接调用CreateProcess
,则会获得子进程的句柄。当子进程退出时,该句柄将发出信号,因此您可以在句柄上执行类似WaitForSingleObject
的操作,当它返回成功时,您知道子进程已退出。不过,大多数其他生成子项的方法至少需要稍微多一点的迂回方法(而且,与打开文件一样,使用其他方法比直接调用CreateProcess
更常见 - 这是可以理解的,因为直接使用CreateProcess
可能会有点痛苦(。
相关文章:
- 警告处理为错误这里有什么问题
- 目录删除 MFC 的问题
- 问题: 从 MFC 调用 C# 未托管 COM C++
- MFC执行线程问题
- 创建非托管常规 MFC DLL 并从托管 C++ .NET 应用调用它时出现问题
- MFC C 使用静态成员和编译问题
- 发送和将消息从一个类发送到另一堂课的问题.MFC程序
- 调试MFC应用程序时出现问题,正在生成但未运行
- MFC扩展dll资源加载问题
- C++ MFC 正则表达式问题
- MFC 进度条问题和文件菜单生成
- MFC功能区面板名称问题
- MFC-C代码合并问题
- 在MFC中使用WinINet的问题
- MFC + Wininet +代理认证=问题
- 为MFC应用程序使用settimer()时出现问题
- Microsoft Word连接点接收器示例/MFC出现问题
- vc++ mfc 中的串行编程存在一些问题
- 在 VC++ MFC 中使用静态变量时出现问题
- MFC中的ID模式问题