Ctrl-Alt-Del отается поток как от него избавиться?
От: Аноним  
Дата: 19.11.09 15:21
Оценка:
Например

Excel.Application ex_app;
ex_app = new Excel.Application();

//прочая ерунда
ex_app.SheetsInNewWorkbook = 1;
ex_app.Workbooks.Add(Type.Missing);
ex_app.WindowState= Excel.XlWindowState.xlMaximized;
ex_app.Visible =true;

//работем долго и упорно параллельно с Excel

//потом Dispose и(или) ~
//ex_app.Close();
//ex_app.Quit();
//GC.Collect();
//в общем неважно


Суть вопроса
При закрытии приложения или Exception все закрывается OK!
Теперь делаем эксперимент нажимаем Ctrl-Alt-Del и снимает Ручками My.exe
Excel остается, что в принципе нормально.
Нажимаю на Exit и Окно закрывается, а поток ОСТАЕТСЯ!!!
Пробовал бороться но
В принципе глюк допустимый нестандартная ситуация, нечастая, но заел вопрос по теории, а если другое приложение и все очень критично? Что делать!!!
Re: Ctrl-Alt-Del отается поток как от него избавиться?
От: TK Лес кывт.рф
Дата: 19.11.09 16:26
Оценка: 9 (1)
Здравствуйте, Аноним, Вы писали:

А>При закрытии приложения или Exception все закрывается OK!

А>Теперь делаем эксперимент нажимаем Ctrl-Alt-Del и снимает Ручками My.exe
А>Excel остается, что в принципе нормально.
А>Нажимаю на Exit и Окно закрывается, а поток ОСТАЕТСЯ!!!

Наверное не поток, а процесс?

А>Пробовал бороться но

А>В принципе глюк допустимый нестандартная ситуация, нечастая, но заел вопрос по теории, а если другое приложение и все очень критично? Что делать!!!

Поменяйте "направление" работы с Excel. Сделайте managed add-on для Excel который, при запуске будет устанавливать соединение с вашим приложением (через тот-же remoting). Тогда, каждый у вас будет отвечать сам за себя — приложение будет отвечать только за старт/рестарт экселя, а add-on (который находится внутри экселя) за дальнейшую коммуникацию с приложением и управлением экселем.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Ctrl-Alt-Del отается поток как от него избавиться?
От: Аноним  
Дата: 19.11.09 17:15
Оценка:
Согласен процесс
а если другое приложение не Excel и все очень критично? Что делать!!!
где add-on брать? как отследить что я запустил и не закрыл?
хотя бы внешней службой или чем другим?
Re[3]: Ctrl-Alt-Del отается поток как от него избавиться?
От: TK Лес кывт.рф
Дата: 19.11.09 20:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Согласен процесс

А>а если другое приложение не Excel и все очень критично? Что делать!!!

В смысле, другое приложение не Excel? Где находится ваш код и на что вы можете непосредственно влиять?

А>где add-on брать? как отследить что я запустил и не закрыл?

А>хотя бы внешней службой или чем другим?

Да, можно сделать и внешний сервис. Идея простая в него надо передать два processId (их можно достать из COM ссылки) дальше данный сервис должен следить за первым процессом и при завершении — тушить второй.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Ctrl-Alt-Del отается поток как от него избавиться?
От: regint  
Дата: 20.11.09 09:30
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Аноним, Вы писали:


А>>При закрытии приложения или Exception все закрывается OK!

А>>Теперь делаем эксперимент нажимаем Ctrl-Alt-Del и снимает Ручками My.exe
А>>Excel остается, что в принципе нормально.
А>>Нажимаю на Exit и Окно закрывается, а поток ОСТАЕТСЯ!!!
еще можно попробовать
ex_app.Quit();
ex_app = null;
... << RSDN@Home 1.2.0 alpha 4 rev. 1284>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.