Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取消视频转换_C#_Visual Studio_Vsto_Powerpoint - Fatal编程技术网

C# 取消视频转换

C# 取消视频转换,c#,visual-studio,vsto,powerpoint,C#,Visual Studio,Vsto,Powerpoint,我开发了一个PowerPoint加载项,可以将当前打开的演示文稿转换为.wmv文件 一切都很好。转换演示文稿时,我可以在PowerPoint底部看到一个进度条以及一个红色的X,按下该按钮可以取消转换过程 有没有一种方法可以通过编程方式调用这个取消按钮 这是我用来调用它并等待它完成的代码,但我也希望能够在它进行时取消它 private void frmUpload_Load(object sender, EventArgs e) { try {

我开发了一个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根据MSFT,这是不可能的:(

线程在这里:

特雷夫