计时器停止后重新启动 InActivity Monitor

一旦应用程序达到不活动状态,它就会停止不活动监视器。但是我想在用户登录后重新启动时间。


所以当用户登录时我有一个通知机制,我再次调用启动计时器方法。我收到 Started Monitor 消息,但该应用程序从不跟踪不活动状态,而且我根本没有收到 Timer 报告应用程序是 InACTIVE 消息。请帮忙。


 public static System.Windows.Forms.Timer IdleTimer =null;

    static int MilliSeconds = 60000;

    static void Main(string[] args)

            {

                    f = new GeneStudyForm(true, arguments.SystemTimeOutFolder, arguments.SystemTimeOutFile, StartInActivityMonitor);

                    int x = StartInActivityMonitor();

            }


        public static void StartInActivityMonitor()

        {

            IdleTimer = new Timer();

            LeaveIdleMessageFilter limf = new LeaveIdleMessageFilter();

            Application.AddMessageFilter(limf);

            IdleTimer.Interval = MilliSeconds;    //One minute; change as needed

            Application.Idle += new EventHandler(Application_Idle);

            if (IdleTimer != null)

            {

                MessageBox.Show(IdleTimer.Interval.ToString());

            }

            IdleTimer.Tick += TimeDone;

            IdleTimer.Tag = InActivityTimer.Started;

            MessageBox.Show("starting");

            IdleTimer.Start();

        }


        static private void Application_Idle(object sender, EventArgs e)

                {

                    if (!IdleTimer.Enabled)     // not yet idling?

                        IdleTimer.Start();

                }


                static private void TimeDone(object sender, EventArgs e)

        {

            try

            {

                MessageBox.Show("Stopped");

                IdleTimer.Stop();   // not really necessary

                f.MonitorDirectory();

                f.UpdateInActivityStatus();

                IdleTimer.Tick -= TimeDone;

                Application.Idle -= new EventHandler(Application_Idle);

            }

            catch(Exception ex)

            {

                MessageBox.Show(ex.InnerException + ex.Data.ToString());

            }

        }


holdtom
浏览 226回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP