用于查找系统空闲时间的WPF应用程序 - GetLastInputInfo不识别操纵杆

时间:2012-07-27 21:25:23

标签: .net wpf windows

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

我使用GetLastInputInfo来获取系统的空闲时间,但我发现它只适用于鼠标或键盘输入,但不适用于操纵杆。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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