0

在我的 WPF 应用程序中,我必须检测系统空闲时间(包括不使用鼠标、键盘、操纵杆)。

我曾经GetLastInputInfo得到系统的空闲时间,但我发现它只适用于鼠标或键盘的输入,而不是来自操纵杆的输入。

有没有一种方法或任何 Win32 API 可以通过检测来自所有三种设备(鼠标、键盘、操纵杆)的输入来提供 LastInputInfo?

4

1 回答 1

0

您可以注册以接收 RAW Input 消息。下面的示例要求来自操纵杆的原始输入,但如果需要,您也可以要求来自鼠标和键盘的原始输入......或者您可以坚持使用 GetLastInputInfo 来处理这些情况。

如果您想在应用程序不在前台时接收事件,请在 dwFlags 上使用 RIDEV_INPUTSINK。

下面的链接中应该有足够的内容来做你想做的事情......从每个参考资料中获取点点滴滴。

然后您需要定义一个回调来接收 Windows 消息,然后查找任何 WM_INPUT 。

我认为您不必使用系统挂钩,但这里有一个链接提到:

于 2012-07-28T22:17:46.207 回答