各位大虾,现在我有一个很棘手的问题:在Windows下,当磁盘空间不够的,Windows应该会产生一个系统消息报告吧?如果有,在程序中如何抓住这个消息呢?谢谢

解决方案 »

  1.   

    应该没有这样的Windows消息,连Windows自己也不清楚什么时候磁盘满。消息的交互有两种方式,事件和查询。Windows不给事件,那你就只能选择查询。比如,如果你需要实时了解磁盘空间,就启动一个线程来定时查询。
         jmcooler<签名>
      

  2.   

    谢谢这位大虾的指教。不过Windows在磁盘空间不够的情况下会提示磁盘空间满。
    假如使用查询的话,那太耗时间了。唉,谁能救救我?
      

  3.   

    在定时器中查询磁盘空间是可取的,如果定时时间间隔不是很短,很少占用CPU时间.也可以用一个线程来监视, 注意线程的循环函数内一定要加Sleep(n),n取5-20
    就行.程序运行时用Win2k,XP的任务管理器中CPU时间占用情况就可以判断你的程序运行效率. 我经常用它判断. 现在好多程序只关心程序的功能,而忽略了运行效率.
      

  4.   

    很感谢wyz_csdn的答复。不过查询方式还是不行,一来检查磁盘空间状况的函数很耗时间,查多了会影响效率;二来查询方式有疏漏,如果在查询间隙磁盘空间满了,那就糟了。还是中断方式好,可我就是不知道系统会不会发出磁盘满的消息。不知道系统报磁盘空间满时是不是发了消息。唉...