我需要在用户不使用它时关闭应用程序(C#) - 假设当任何形式的程序上没有Click事件时(大约有100个表单)。有没有办法做到这一点没有处理点击甚至在应用程序的每个表单上。 (我每分钟运行一次线程,可以检查它)? 提前谢谢!
答案 0 :(得分:2)
您可以使用Application.AddMessageFilter
功能挂钩应用程序消息循环。编写一个消息过滤器,检查所有鼠标点击消息和/或键盘消息,或者您感兴趣的任何内容。
例如:
public class DetectActivityMessageFilter : IMessageFilter
{
private const int WM_LBUTTONDOWN = 0x0201;
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == WM_LBUTTONDOWN)
{
// The left mouse button was pressed
}
return false;
}
}