Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
5 / 5 / 5
Регистрация: 15.08.2013
Сообщений: 90
1
.NET 4.x

С# и powerpoint

30.08.2013, 10:40. Просмотров 2205. Ответов 2
Метки нет (Все метки)

Здравствуйте! Вопрос такой... Создаю приложение для управления показом презентации по сети. Запускается отлично... Закрывается вроде тоже, но остается окно Powerpoint. Если запустить презентацию заново то она запускает и и тут же закрывает окно Powerpoint не остается ни одного открытого окна Powerpoint . при повторном запуске опят работает нормально. Как убрать такую ошибку. Сделать закрытие окна по нажатию на стоп.

Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  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);
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2013, 10:40
Ответы с готовыми решениями:

PowerPoint
Можно ли в PowerPoint по нажатию кнопки из Панели инструментов вывести изображение и как???

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

powerpoint
207 powerpoint стоит.....расскажите как убрать полностью звук и как сделать чтобы при показе слайда...

Игра в PowerPoint
Дали задание провести игру. Суть такова: если отвечают правильно на вопрос, открывается кусок...

2
Master of Orion
Эксперт .NET
6067 / 4925 / 903
Регистрация: 10.07.2011
Сообщений: 14,520
Записей в блоге: 5
30.08.2013, 20:04 2
Sue405090,
C#
1
2
3
4
5
6
            app.Quit();
            var processes = Process.GetProcessesByName("POWERPNT");
            foreach (var p in processes)
            {
                p.Kill();
            }
Добавлено через 24 секунды
И незачем постоянно вызывать GC, это очень-очень плохо.
1
5 / 5 / 5
Регистрация: 15.08.2013
Сообщений: 90
30.08.2013, 22:08  [ТС] 3
Цитата Сообщение от Psilon Посмотреть сообщение
Sue405090,
C#
1
2
3
4
5
6
            app.Quit();
            var processes = Process.GetProcessesByName("POWERPNT");
            foreach (var p in processes)
            {
                p.Kill();
            }
Добавлено через 24 секунды
И незачем постоянно вызывать GC, это очень-очень плохо.
Спасибо, попробую!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2013, 22:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Эффекты в PowerPoint
Подскажите, please... PowerPoint 2007. На слайде 1 есть какая-нибудь Анимация (по щелчку) - см....

Интеграция 1С 8 с Powerpoint
Помогите пож-та!!! Как можно презентацию PowerPoint заполнить объектами из 1С???? Я была бы очень...

Delphi и powerpoint
Запускаю авто презентацию через делфи вот так try PowerPointApp :=...

PowerPoint восстановление
Не каждый день, но каждую неделю случаются сплошные неприятности с программой PowerPoint 2016. И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.