2013-08-06 2 views
1

Я разработал приложение PowerPoint, которое преобразует открытую презентацию в файл .wmv.Отмена видеоконверсии

Все работает хорошо. Когда презентация преобразуется, я вижу индикатор выполнения в нижней части PowerPoint вместе с красным X, который можно нажать, чтобы отменить процесс преобразования.

Есть ли способ программного вызова этой кнопки отмены как-то?

Это код, который я использую, чтобы позвонить ему и дождаться его завершения, но я также хотел бы иметь возможность отменить его во время его выполнения.

private void frmUpload_Load(object sender, EventArgs e) 
    { 
     try 
     { 
      progressBarUpload.Value = 0; 
      string exportName = "video_of_presentation"; 
      string exportPath = @"C:\Windows\Temp\{0}.wmv"; 

      // Export the currently open presentation 
      Microsoft.Office.Interop.PowerPoint.Application ppApplication = null; 
      ppApplication = new Microsoft.Office.Interop.PowerPoint.Application(); 
      ppApplication.Activate(); 
      ppApplication.ActivePresentation.SaveAs(String.Format(exportPath, exportName), Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsWMV); 
      lblUploadStatus.Text = "Status: Converting …"; 

      new Thread(() => 
      { 
       Thread.CurrentThread.IsBackground = true; 
       /* run your code here */ 
       do 
       { 
        System.Threading.Thread.Sleep(500); 

       } 
       while (ppApplication.ActivePresentation.CreateVideoStatus != Microsoft.Office.Interop.PowerPoint.PpMediaTaskStatus.ppMediaTaskStatusDone); 

       backgroundWorker.RunWorkerAsync(); 

       SetControlPropertyValue(lblUploadStatus, "text", "Status: Uploading …"); 

      }).Start(); 
     } 
     catch 
     { 
      lblUploadStatus.Text = "Status: Error Converting File."; 
     } 
    } 

Любая помощь будет очень признательна.

Trev

ответ

Смежные вопросы