Vba как закрыть приложение
Imports System
Imports System.Diagnostics
Imports System.Threading
Это нужно просто для удобства использования компонентов, относящихся к данным пространствам имен.
Получите данные процесса, который необходимо закрыть. Используйте объект класса System.Diagnostics.Process. Объявите переменную данного класса:
Dim oProc As Process
Затем используйте какой-либо метод для нахождения необходимого процесса.
Если программа, которую в дальнейшем необходимо будет закрывать, запускается разрабатываемым приложением, то просто сохраните объект, возвращаемый методом Start при запуске:
Если необходимо закрыть процесс с известным идентификатором, используйте статический метод GetProcessById класса Process для получения соответствующего объекта:
Здесь nID – числовой идентификатор процесса.
Если известны только некоторые характеристики целевого процесса, произведите его поиск. Получите список процессов, запущенных на локальной машине, в виде массива объектов класса Process. Используйте методы GetProcesses (возвращает все процессы) или GetProcessesByName (только процессы с заданным именем):
Dim aoAllProcesses As Process() = Process.GetProcesses()
Dim aoProcsByName As Process() = Process.GetProcessesByName("app.exe")
Перечислите объекты массива при помощи цикла:
Dim oProc As Process
For Each oProc In aoAllProcesses
' действия над oProc
Next
В цикле анализируйте свойства MainModule, MainWindowTitle, ProcessName, и т.д. для нахождения нужного объекта.
При необходимости гарантированного завершения программы после вызова CloseMainWindow осуществите ожидание в течение небольшого промежутка времени. Используйте метод Sleep класса Thread. Затем проверьте состояние процесса, проанализировав свойство HasExited и, если он не завершен, вызовите метод Kill:
Thread.Sleep(6000)
oProc.Refresh()
If not oProc.HasExited Then
oProc.Kill()
End If
При желании можно осуществлять опрос состояния процесса в цикле, выдавая периодические запросы пользователю о необходимости завершения приложения без сохранения данных. И только в случае согласия вызвать Kill.
Освободите системные ресурсы после завершения программы при помощи метода Close:
Читайте также:
- Почему приложение сбербанк онлайн занимает много места
- Как написать новому человеку в whatsapp с компьютера
- Операция по карте недоступна подключить услугу можно в мобильном приложении
- Ошибка запуска игры варфейс bin64release game exe не является приложением win32
- Возможно не запущено серверное приложение ингео