请问如何知道剩余系统资源的百分比?
如果你不知道什么是这里所说的系统资源,请看这里http://search.csdn.net/Expert/topic/1282/1282880.xml?temp=.6659815

解决方案 »

  1.   

    原来windows95/98下面有系统资源(包括内存,GDI,句柄等)的概念,用GetFreeSystemResources函数(User里面)获取但是到了2k下,只有内存、CPU占用等概念了,也找不到GetFreeSystemResources这样的函数。
      

  2.   


    获得剩余系统、用户、gdi资源的方法(windows 98) 
    windows98提供了获得剩余系统、用户、gdi资源的函数,但在msdn中并未提及--又一个未公开的函数:-)。 这个函数名为_mygetfreesystemresources32@4,隐身于rsrc32.dll文件中。函数的原型及使用方法如下文所示,注意该函数的返回值为剩余资源百分比的值,例如:如果该函数返回70,表明相应剩余资源为70%。 // 函数使用的参数
    #define gfsr_systemresources 0
    #define gfsr_gdiresources 1
    #define gfsr_userresources 2// 函数的原型
    typedef long (pascal * lpgetfreeresources)(int);
    // 函数的指针
    lpgetfreeresources lpgetfreeresources;
    // rsrc32.dll库的实例句柄
    hinstance hrsrc;// 保存剩余资源的数组
    long lfree[3];// 获得mygetfreesystemresources32函数的指针
    hrsrc = loadlibrary("rsrc32.dll");
    if (hrsrc == null)
    {
    messagebox(null, "can't load rsrc32.dll!", "error", mb_ok|mb_iconstop);
    return false;
    }lpgetfreeresources = (lpgetfreeresources)getprocaddress(hrsrc,
    "_mygetfreesystemresources32@4");
    if (lpgetfreeresources == null)
    {
    messagebox(null, "can't load _mygetfreesystemresources32@4 function!", "error",
    mb_ok|mb_iconstop);
    freelibrary(hrsrc);
    return false;
    }for (int i = 0; i < 3; i++)
    {
    lfree[i] = lpgetfreeresources(i); // 获得剩余资源
    … // 其他操作
    }
      

  3.   

    动态调用GetFreeSystemResources(win98的user下)。
    因为这个函数是个16位的,搞得有些麻烦,
    所以还要调用一个16位的调入过程QtThunk才行
    还要写点汇编
      

  4.   

    谢谢楼上的兄弟,只是C 语言基本不懂谁能给个DELPHI版本的(50分好像太少,问题解决,另开贴再加50吧)