c# – 在WPF应用程序中获取不活动/空闲时间

我正在寻找最好的方法来找出我的用户是否在我的WPF应用程序中空闲.目前,我从操作系统中获取这个空闲时间,如果它们最小化应用程序,并在Internet上进行搜索,则操作系统中有一个进程,因此操作系统不会将此视为不活动时间,即使它们没有进行应用程序内的任何内容但是,我想知道他们是否没有点击或在我的申请中做任何事情.

这就是我现在的空闲时间.

myApplication.MainMethod()
    {
        System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
        myTimer .Interval = 1000;
        myTimer .Tick += new EventHandler(Timer_Tick);
        myTimer .Start();
    }

    void Timer_Tick(object sender, EventArgs e)
    {
        int idleTime= (int)Win32.GetIdleTime();
        if (idleTime<certainNumber)
        {
         //do this
         }
    }
最佳答案
public MainWindow()
    {
        InitializeComponent();
        ComponentDispatcher.ThreadIdle += new System.EventHandler(ComponentDispatcher_ThreadIdle);
    }

void ComponentDispatcher_ThreadIdle(object sender, EventArgs e)
    {
        //do your idle stuff here
    }

转载注明原文:c# – 在WPF应用程序中获取不活动/空闲时间 - 代码日志