C#如何判断计算机处于空闲状态,我是判断cpu的利用率小于10%,我想当计算机处于空间状态的情况下去执行索引程序.

解决方案 »

  1.   

    一般来说对当前应用程序,如果进入了空闲状态(指的不是CUP这时0%,而是鼠标键盘不操作的时候)会发生如下的这个事件:
    Application.Idle所以,如果有用,你可以添加这个事件的处理程序。
      

  2.   

    这个难度大。如果可能实现。也不会是用.net提供给你的方法或事件。到c++版问问去。
      

  3.   

    我觉得lz的需求可以用判断cpu使用率来 ~~他只是判断当前机器的负载程度以便决定是否执行较为耗资源的程序
      

  4.   

    一般来说对当前应用程序,如果进入了空闲状态(指的不是CUP这时0%,而是鼠标键盘不操作的时候)会发生如下的这个事件:
    Application.Idle所以,如果有用,你可以添加这个事件的处理程序。
    ----------------------------------------------------
    我做成了一个windows服务,用来自动索引某一个文件夹的(当前实现了文件一但被修改,或者添加新文件就会去索引).鼠标键盘不操作的时候会很少的.那不能做到即时索引了.
      

  5.   

    我觉得lz的需求可以用判断cpu使用率来 ~~他只是判断当前机器的负载程度以便决定是否执行较为耗资源的程序-------------------------------------------------------
    我当前就是判断cpu的使用率做的.感觉不是很好.
      

  6.   

    遍历所有的进程,检查每一个进程的CPU使用率,如果其中任意一个进程的CPU(程序自身的进程除外)的使用率超过3%或5%,则说明此进程正在执行一个耗费资源的操作。
      

  7.   

    wpasp(月月鸟)
     
       遍历所有的进程,检查每一个进程的CPU使用率,如果其中任意一个进程的CPU(程序自身的进程除外)的使用率超过3%或5%,则说明此进程正在执行一个耗费资源的操作。
    ----------------------------------------------------------------------------------
    PerformanceCounter pc = new PerformanceCounter(CategoryName, CounterName, InstanceName);
    Thread.Sleep(1000); // wait for 1 second 
    float cpuLoad = pc.NextValue();  //返回cpu的利用率
    if(cpuLoad < 10)
    {
        //这里我判断的cpu利用率小于10%,应该是多少时cpu才处于空间状态呢?  
    }
    else
    {
       //.....
    }
     
      

  8.   

    CPU永远不可能处于空闲状态,除非关机.实际的办法就是判断CPU使用率.
      

  9.   

    赞成 shrinerain(圣影雨) 的观点
      

  10.   

    shrinerain(圣影雨)CPU永远不可能处于空闲状态,除非关机.
    实际的办法就是判断CPU使用率.---------------------------------------------------
    cpu实用率为多少才算正常,也就是我应该判断cpu小于百分之几时执行我想要的操作才算合理?
      

  11.   

    to lz 这没有什么硬标准 你需要测试得到具体数据这个值地大小视乎你的软、硬件配置,将要运行代码需要的资源情况 ==