使用C#加载应用程序并验证应用程序是否已完全加载

时间:2014-05-21 07:12:18

标签: c# pdf

我有一个与应用程序进程启动相关的查询。这就是我想要做的。

前期工作

在C#应用程序中使用adobe reader加载pdf文件

实际问题

我想注意以下adobe pdf阅读器的时间。消耗了多少时间,

  • 执行adobe pdf reader application
  • 在adobe pdf reader中打开样本。

当我们杀死adobe进程时使用了多少时间,

  • 终止adobe pdf阅读器应用程序

我被困住了,因为我无法在急剧应用中计算这些时间。为什么呢?

  • 我无法验证应用程序是否已完全加载
  • 我无法验证pdf示例是否在pdf阅读器中加载了所有组件

我已实施的代码

double _time = 0;

try
{               
    Stopwatch stopwatch = new Stopwatch();    
    Process myProcess = new Process();    
    myProcess.StartInfo.FileName  = @"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"; //not the full application path
    myProcess.StartInfo.Arguments = "D:\\Sample.pdf";
    myProcess.Start();
    //System.Threading.Thread.Sleep(1500);
    myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

    if (myProcess.HasExited == false)
    {
       stopwatch.Start();
       /* 
       *  1. Giving time to application to load, 
       *  2. Load sample 
       */
       myProcess.WaitForExit(1000);
       // Calculate time 
       _time=_time+stopwatch.Elapsed.TotalMilliseconds;
       /*
       * Give extra time in case if application need more time
       */
       myProcess.WaitForExit(1500);
    }
    myProcess.EnableRaisingEvents = true;                   
    myProcess.Kill();                
}
catch(Exception exp){
   Console.WriteLine("Error "+exp.Message+".  "+exp+"   "+ exp.Source);
}

Console.WriteLine("PDF opened in  (time) : "+TimeSpan.FromSeconds(_time).TotalMinutes);
Console.WriteLine("Total PDF reader Life cycle : "+stopwatch.Elapsed);

如果有人用c sharp / vb.net代码以这种方式帮助我

  • Pdf阅读器加载完成(时间)
  • 验证应用程序已完全加载
  • 示例加载的pdf阅读器(时间)
  • Pdf阅读器被杀(时间)

谢谢,

0 个答案:

没有答案