捕捉一段时间内没有任何鼠标操作并给出提示
public partial class Form1 : Form, IMessageFilter
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Application.AddMessageFilter(this);
}
private static DateTime datetime;
public bool PreFilterMessage(ref System.Windows.Forms.Message m)
{
//513为鼠标左键按下,515为鼠标左键双击
if (m.Msg == 513 || m.Msg == 515)
{
datetime = DateTime.Now;
}
else
{
//当10秒没有操作鼠标后给出提示
if (Datediff("s", DateTime.Now, datetime) > 10)
{
datetime = DateTime.Now;
MessageBox.Show("超过五秒时没有操作");
}
}
return false;
}
public static int Datediff(string type, DateTime begin_date, DateTime end_date)
{
TimeSpan ts = begin_date - end_date;
switch (type)
{
case "d": return ts.Days;
case "h": return ts.Days * 24 + ts.Hours;
case "m": return ((ts.Days * 24 + ts.Hours) * 60) + ts.Minutes;
case "s": return (((ts.Days * 24 + ts.Hours) * 60) + ts.Minutes) * 60 + ts.Seconds;
} return ts.Days;
}
}
浙公网安备 33010602011771号