是否可以从Win32或MFC应用程序的Windows中获取“磁盘空间不足”通知?

时间:2019-06-07 10:26:55

标签: c++ windows winapi mfc

我有一个MFC应用程序,它实际上显示了连接的USB设备的文件。 Multi-filter Drag and Drop已为此应用程序启用,除Windows发出“低级磁盘” 警告外,它均正常运行。它可以将文件从 PC拖到MFC应用程序,并且将 MFC应用程序拖到PC 。当PC上显示“磁盘空间不足” 警告时,拖放操作无效,即使有足够的可用内存来粘贴/拖放文件,应用程序也会被压缩。我检查了拖放的文件之前是否有足够的内存。

谷歌搜索后,我发现this link指出,

  

由于“磁盘空间不足”警告,Windows不允许复制/粘贴,即使您有足够的空间复制/粘贴文件。

因此,除了拖动的文件大小外,我还必须考虑“低级磁盘空间” 内存大小。但是我没有找到有关以下问题的答案:

  1. 避免“ LowLeveDiskSpace”警告所需的最小级别的内存量是多少?
  2. 是否可以通过MFC或Win32应用程序获取此“ LowLeveDiskSpace”通知?

1 个答案:

答案 0 :(得分:0)

我怀疑这已被记录下来。

shell在StringCchPrintfW格式字符串上调用L"LowDiskOn%C",其中%C参数是大写驱动器号。它使用该字符串等待命名的互斥体。我不确定外壳本身是否会定期检查可用空间,或者互斥体是否由其他信号发出。

这些年来的实现方式可能已经改变。