一段代码
//下面的代码是当你的程序开启后却长时间没操作,提示是否退出程序!
public class Form1 : System.Windows.Forms.Form,System.Windows.Forms.IMessageFilter
//.......
Application.Idle+=new EventHandler(FrmParent.IdleFun);
Application.AddMessageFilter(FrmParent);
Application.Run(); // 启动独立的应用程序线程
//...........
//用于程序长时间打开,却无操作,退出程序
private void timer1_Tick(object sender, System.EventArgs e)
{
//这个程序是当程序没有在监听指令状态时,而且时间超过1小时后,自动退出!
if(++count>60*60)
{
timer1.Stop();
if (MessageBox.Show ("你打开程序时间很长,却没有任何操作,是否退出应用程序?", "终端模拟程序", MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes)
{
timer1.Dispose();
Application.Exit();
}
else
{
count=0;
}
}
}
}
private void IdleFun(object o,System.EventArgs e)
{
timer1.Start();
}
public bool PreFilterMessage(ref System.Windows.Forms.Message m)
{
if(m.Msg!=0x0113)
{
timer1.Stop();
count=0;
}
public class Form1 : System.Windows.Forms.Form,System.Windows.Forms.IMessageFilter
//.......
Application.Idle+=new EventHandler(FrmParent.IdleFun);
Application.AddMessageFilter(FrmParent);
Application.Run(); // 启动独立的应用程序线程
//...........
//用于程序长时间打开,却无操作,退出程序
private void timer1_Tick(object sender, System.EventArgs e)
{
//这个程序是当程序没有在监听指令状态时,而且时间超过1小时后,自动退出!
if(++count>60*60)
{
timer1.Stop();
if (MessageBox.Show ("你打开程序时间很长,却没有任何操作,是否退出应用程序?", "终端模拟程序", MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes)
{
timer1.Dispose();
Application.Exit();
}
else
{
count=0;
}
}
}
}
private void IdleFun(object o,System.EventArgs e)
{
timer1.Start();
}
public bool PreFilterMessage(ref System.Windows.Forms.Message m)
{
if(m.Msg!=0x0113)
{
timer1.Stop();
count=0;
}