SW_MINIMIZED就是最小化把,程序窗口不在屏幕上显示了。占用的资源就少了撒。

解决方案 »

  1.   

    不是这么简单吧。少得很夸张的呀。
    比如暴风影音,刚启动时有10几MB,最小化后不到1MB了.如果因为不在屏幕上显示才减小内存,那你调用ShowWindow( SW_HIDE )试试,
    内存照样没多大改变.所以我觉得是不是ShowWindow( SW_MINIMIZED )是不是做了什么事情把内存还给系统了.
    有没有相关的函数?
      

  2.   

    不是这个内存啊,因为一般的程序自己申请(比如new)的内存一般不会很大。
    但windows的某些缓冲机制会导至内存占用增加(比如程序中使用了微软的某些COM组件,
    文件读写产生的缓冲),
    这样产生的额外内存远比程序本身占用的要高很多,这也就是为什么最小化时内存会降下这么多。因为这部分资源是系统分配的,在程序里不可能delete掉,
    所以我想问问有没有这类的函数跟windows说把我占用的资源释放掉。
      

  3.   

    其实ShowWindow( SW_MINIMIZED )就有这个效果, 不过我不想调用ShowWindow,
    不知道还有别的方法没。