Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2012, 13:52   #1
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию Как программно закрыть другое приложение(программу)

Доброго времени уток, открыл вордовский документ
Код:
Process.Start(Application.StartupPath + "\\Word.docx");
Открылся ворд с моим документом, можно ли как-нибудь теперь программно закрыть ворд??
Убивать процесс не подходит... Заранее спасибо!
masicev вне форума Ответить с цитированием
Старый 07.07.2012, 14:00   #2
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
Сообщение от masicev Посмотреть сообщение
Убивать процесс не подходит
а как тогда надо ? закрыть->сохранить документ ? Проблема в том что вы не создаете приложение Word которое потом можно нормально закрыть. Вы запускаете процесс Word'a да и то он запускается только из за ассоциации docx

Последний раз редактировалось wm_leviathan; 07.07.2012 в 14:02.
wm_leviathan вне форума Ответить с цитированием
Старый 07.07.2012, 14:04   #3
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию

Я понял.... Можно ли как-нибудь правильно открыть файл через ворд (программно) и также потом закрыть (тоже программно) Если да то как
masicev вне форума Ответить с цитированием
Старый 07.07.2012, 14:28   #4
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Код:
using Word = Microsoft.Office.Interop.Word;
Код:
 Word.Application app = new Microsoft.Office.Interop.Word.Application();//процесс ворда
        Object docxFileName = Application.StartupPath + "\\test.doc";//имя файла
        Object missing = Type.Missing;
Код:
 private void button1_Click(object sender, EventArgs e)
        {

                    //открыли дркумент
                    app.Documents.Open(ref docxFileName, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing);
                    app.Visible = true;
            
        }
Код:
private void button2_Click(object sender, EventArgs e)
        {
            Object @false = false;
            //закрыли текущий документ
            app.ActiveDocument.Close(ref @false, ref missing, ref missing);
            //вышли из ворда
            app.Quit(ref @false, ref missing, ref missing);
        }
wm_leviathan вне форума Ответить с цитированием
Старый 07.07.2012, 14:44   #5
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию

Код:
app.ActiveDocument.Close(ref @false, ref missing, ref missing);
Данная команда недоступна, так как не открыт ни один документ.
Вот так ругается, причем документ открыт, но активно окно моего приложения, а не ворда
masicev вне форума Ответить с цитированием
Старый 07.07.2012, 14:53   #6
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

очисти все процессы ворда. мб где висит лишний. документ ворд открывается нормально? т.е. показывает сам документ ? данная ошибка может появиться в случае если ты открыл word документ потом закрыл программу и пытаешься закрыть word документ.
при повторном открытии программы
Код:
Word.Application app = new Microsoft.Office.Interop.Word.Application();//процесс ворда
уже не тот что был до закрытия а новый экземпляр
wm_leviathan вне форума Ответить с цитированием
Старый 07.07.2012, 14:57   #7
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию

Документ открылся норм, все процессы ворда завершил.
Вот первый раз открыл документ и пытаюсь его закрыть он такую ошибку пишет
masicev вне форума Ответить с цитированием
Старый 07.07.2012, 15:06   #8
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

странно но у меня все работает
вот проект http://zalil.ru/33549465
wm_leviathan вне форума Ответить с цитированием
Старый 07.07.2012, 15:16   #9
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию

Да твой робит, а у меня что-то не хочет(
Код:
 private void button1_Click(object sender, EventArgs e)
        {
            b_w = !b_w;
            Update(0);
            Word.Application app = new Microsoft.Office.Interop.Word.Application();
            Object docxFileName = Application.StartupPath + "\\Word.docx";
            Object missing = Type.Missing;
            if (b_w)
            {
                app.Documents.Open(ref docxFileName, ref missing,
                ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing);
                app.Visible = true;
            }
            else
            {
                Object @false = false;
                app.ActiveDocument.Close(ref @false, ref missing, ref missing);
                app.Quit(ref @false, ref missing, ref missing);
            }
        }
masicev вне форума Ответить с цитированием
Старый 07.07.2012, 15:17   #10
masicev
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 22
По умолчанию

Вот так у меня
masicev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как закрыть своё приложение??? TwiX Общие вопросы Delphi 26 10.12.2019 02:20
Mono: как программно закрыть окно Mixim Общие вопросы .NET 5 02.09.2012 12:13
Как закрыть приложение aiswork Софт 1 26.09.2009 12:58
Как закрыть приложение при выключение Winsows pro100-delphi Общие вопросы Delphi 12 10.09.2009 16:12
Как программно определить зависшее приложение? Air Win Api 5 26.11.2007 00:30