Выгрузить процесс

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ol1965
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 21.02.2005 (Пн) 9:29

Выгрузить процесс

Сообщение Ol1965 » 22.08.2007 (Ср) 15:16

После создания в программе OLE - объекта как Excel - таблицы и просмота ее в MS Excel, закрываем Excel. Но в "Диспетчере задач" остается процесс (Excel.exe) до выхода из программы. Можно ли его закрыть программно. Что я делаю не так.

Dim objJA As Excel.Application
On Error GoTo labError
Set objJA = New Excel.Application
objJA.SheetsInNewWorkbook = 1
objJA.Workbooks.Add
With objJA.ActiveSheet
..................................
objJA.Visible = True
'objJA.Quit ' пробовал так, но это не устраивает и процесс остается
End With

Спасибо.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 22.08.2007 (Ср) 15:27

А уничтожать объект не пробовал?
Set objJA = Nothing
Подпись проходит рефакторинг

Ol1965
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 21.02.2005 (Пн) 9:29

Сообщение Ol1965 » 22.08.2007 (Ср) 15:55

Lumen
Пробовал раньше. Сейчас еще раз перепроверил, не спасает.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 22.08.2007 (Ср) 16:12

Можно просто снять процесс Excel через TerminateProcess

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2007 (Ср) 16:15

jangle
А можно убить csrss. Сразу. Ы?


Lumen
А уничтожать объект не пробовал?
Set objJA = Nothing


Это не уничтожает объект. Это всего лишь сбрасывает ссылку на объект. Объект будет жить и радоваться жизни если остались ещё ссылки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 23.08.2007 (Чт) 1:07

Ol1965
А если сначала objJA.Quit а потом Set ObjJa = Nothing?
У меня вот в таком виде работает:
Код: Выделить всё
Dim objJA As Excel.Application

Private Sub Command1_Click()
objJA.Quit
Set objJA = Nothing
End Sub

Private Sub Command2_Click()
Set objJA = New Excel.Application
objJA.SheetsInNewWorkbook = 1
objJA.Workbooks.Add
With objJA.ActiveSheet
objJA.Visible = True
End With

End Sub

Подпись проходит рефакторинг

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 23.08.2007 (Чт) 13:02

Jangle
Можно просто снять процесс Excel через TerminateProcess
Хакер конечно загнул про csrss (он частенько радикален в своих высказываниях), но действительно - как ты собираешься узнать, какой именно экзэмпляр экселя нужно прибить, если их в системе будет запущено несколько?
А я все практикую лечение травами...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.08.2007 (Чт) 13:04

Twister
А ты пробовал убивать csrss? :) Это же железный способ убить все хендлы в системе. Враг точно не пройдёт.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 23.08.2007 (Чт) 13:08

А ты пробовал убивать csrss?
Да, система моментом рушится в БСОД. Можешь взять RootkitUnhooker и поэксперементировать. Да, не забудь заглянуть в абаут этой замечательной тулзы...
А я все практикую лечение травами...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.08.2007 (Чт) 13:11

Ну, по дефолту система сразу же перезагружается. Надо ключик в реестре поправить, чтобы отображася БСОД.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 84

    TopList