• 🚨 Ещё можно успеть на курс «OSINT: технология боевой разведки» от Академии Кодебай

    🔍 Изучите методы разведки с использованием открытых источников (OSINT) для проведения успешных атак.
    🛠️ Освойте ключевые инструменты, такие как Maltego, TheHarvester и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальную разведку.
    🧠 Развивайте навыки, которые помогут вам стать экспертом в области информационной безопасности.

    Запись открыта до 23 мая Подробнее о курсе ...

Закрытие Ms объектов

  • Автор темы Автор темы lmike
  • Дата начала Дата начала

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
8 002
610
тема не относится, напрямую, к нотусам, но мыж "не можем" без винды ;)

при работе через КОМ, бывает необходимо закрывать приложения МСО...
что бы не заставлять это делать пользователей ;), можно звать (для ворда, например):
Код:
Sub CloseMSWord()
On Error Goto ErrH
Dim objs As Variant
Dim strSQL As String
Dim strWMI As String
strWMI = "winmgmts:"
strSQL = "Select * From Win32_Process "
strSQL = strSQL & "where Name = 'WINWORD.EXE'"
Set objs = GetObject(strWMI).ExecQuery(strSQL)
Forall obj In objs
obj.Terminate
End Forall
Quit:
Exit Sub
ErrH:
RaiseError
Resume Quit
End Sub
открытое файло молча не сохранится ;)
грубо, но эффективно ;)
теоретически - можно искать и свои окошки - но кому охота?!
 
Напрашивается в CodeBase, наверное, в > Форум программистов » Hard & Soft » CODEBASE/Исходники » Lotus » Коддинг @Formula / LotusScript / Java in Lotus » OLE технологии.
 
Отличная тема! Полезно при "зависших" процессах Excel или Word. (Когда у них .Visible=False)
 
по ссылке, дал уточнение
 
Где-то читал, сейчас с наскока не вспомню, что Terminate сначала пытается культурно закрыть процесс, и только если процесс повис, делает ему "жёсткий kill". Для некоторых случаев это полезно, а для процессов, которые не снимаются по Quit только дополнительно тратится время..
Кроме того есть некоторые ...

Процессы, которые культурными методами не закрываются, мочу так:
Код:
Sub TaskKill(pProcessName As String)
result = Shell(|taskkill /im "| & pProcessName & |" /F /T|, 7)	'Minimized without focus
Sleep(1)		'Время на закрытие процесса taskkill'ом
End Sub
 
VladSh
всё прально, но есть ещё тонкость - доки МСО будут предлагать восстановление (если занят был МСО, а его рубанули)
 
lmike, даже если перед килом доку сделали Save? Чего-то не припоминаю такого на Ехеле..
 
нет чтобы набивать самому набить XML файл а не работать через КОМ и потом решать возникающие проблемы...
 
ну вот такая жисть бывает (с уродливым лицом МСО)
есть привычки манагеров (а они в ИТ повально безграмотны), есть откаты в ИТ, есть армия виндовых студентов (они и винду-то тольком не знают)
 
ну вот такая жисть бывает (с уродливым лицом МСО)
google-chrome-os-1.jpg

лицо не уродливое ;)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD