如何获得Winform程序的运行时间?

时间:2015-05-18 07:11:09

标签: c# winforms timer quartz.net

我正在使用quartz.net在22:00关闭超市里的机器。触发关机事件:

        public void Execute(IJobExecutionContext context)
        {               
            logger.Info("shutdown.....");
            try
            {
                StatusHelper.ShutdownComputerImpl(MachineOperType.Shutdown);
            }
            catch (Exception e)
            {
                logger.Error("Shutdown computer encount an error", e);
            }
        }

但是,在第一次运行时,quartz.net会触发这项工作!!!!

所以我可以让系统已经运行了多少时间,如果不到10分钟,该功能就无法执行。就像这样:

public void Execute(IJobExecutionContext context)
            {               
                logger.Info("shutdown.....");
                try
                {
                     if(GetCurrentProcessRuntime()>50)
                     {
                         StatusHelper.ShutdownComputerImpl(MachineOperType.Shutdown);
                     }
                }
                catch (Exception e)
                {
                    logger.Error("Shutdown computer encount an error", e);
                }
            }

我在C#Winform,visual studio 2013中编程,我想从开始运行程序,如何获得它?可能是程序运行2小时,时间将超过2小时(或分钟) )。

我不是测量代码运行多少时间,我想从开始获取系统运行时间!!!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用秒表课程:

using System.Diagnostics.Stopwatch
class Program
{
    static void Main()
    {
    // Create new stopwatch
    Stopwatch stopwatch = new Stopwatch();

    // Begin timing
    stopwatch.Start();

    // Do something     

    // Stop timing
    stopwatch.Stop();

    // Write result
    Console.WriteLine("Time elapsed: {0}",
        stopwatch.Elapsed);
    }
}