.NET 4.x С# и powerpoint - C#

Формулировка задачи:

Здравствуйте! Вопрос такой... Создаю приложение для управления показом презентации по сети. Запускается отлично... Закрывается вроде тоже, но остается окно Powerpoint. Если запустить презентацию заново то она запускает и и тут же закрывает окно Powerpoint не остается ни одного открытого окна Powerpoint . при повторном запуске опят работает нормально. Как убрать такую ошибку. Сделать закрытие окна по нажатию на стоп. Вот код
  private void ShowPresentation()//открытие презентации
        {
            try
            {
                objApp = new PowerPoint.Application();
                objPresSet = objApp.Presentations;
                objPres = objPresSet.Open(presentCur.CurPresentations);// что открываем
                objPres.SlideShowSettings.Run();              
                CountSlide = objPres.Slides.Count;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void toolStripPlay_Click(object sender, EventArgs e)//кнопка старт
        {
            flag = true;                      
            if (clientSocket.Connected) //отправляем команду
            {
                TopMost = true;
                byte[] outStream = System.Text.Encoding.ASCII.GetBytes("play" + "$");
                serverStream.Write(outStream, 0, outStream.Length);
                serverStream.Flush();
                ShowPresentation();// начинаем показ                
                GC.Collect();            
            }
            else
            {
                flag = false;
                MessageBox.Show("Нет подключения к серверу");
            }
        }
        private void toolStripStop_Click(object sender, EventArgs e)//кнопка стоп
        {
            if (flag == true)
            {
                TopMost = false;
                byte[] outStream = System.Text.Encoding.ASCII.GetBytes("stop" + "$");
                serverStream.Write(outStream, 0, outStream.Length);
                serverStream.Flush();
                objPres.Close();
                objApp.Quit();//показ окончен
                flag = false;
                toolStripPlay.Enabled = true;
                GC.Collect();
            }
            else
            {
                MessageBox.Show(ex.Message);
            }
        }

Код к задаче: «.NET 4.x С# и powerpoint - C#»

textual
            app.Quit();
            var processes = Process.GetProcessesByName("POWERPNT");
            foreach (var p in processes)
            {
                p.Kill();
            }

14   голосов, оценка 3.929 из 5


СОХРАНИТЬ ССЫЛКУ