Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Проверить конкретный активный процесс. (http://forum.oszone.net/showthread.php?t=243188)

Startup 22-09-2012 17:53 1993138

Проверить конкретный активный процесс.
 
Подкиньте, пожалуйста, пример на VBA, как проверить конкр. процесс, активен ли он. Если не активен, то запустить файл или программку, звязанную с ним. А если активен, то принудительно и безповоротно его завершить.

Iska 22-09-2012 18:41 1993164

1. Что значит «процесс активен»?! Существует?
2. В рамках какого конкретно приложения (Word/Excel/Access) Вам нужно сие решать? Или решение должно быть объемлющим?

Startup 22-09-2012 18:56 1993167

Ну да, существует ли в данное время? Процесс wmplayer.

Iska 22-09-2012 19:31 1993189

А с этим вопросом:
Цитата:

Цитата Iska
2. В рамках какого конкретно приложения (Word/Excel/Access) Вам нужно сие решать? Или решение должно быть объемлющим? »

что ж ответ пропустили?

Ладно, будем считать, что объемлющим. Пробуйте:
Код:

Option Explicit

Sub FlipFlopProcess()
    Dim collSWbemObjectSet As Object
    Dim objSWbemObjectEx As Object
   
    With CreateObject("WbemScripting.SWbemLocator")
        With .ConnectServer(".", "root\cimv2")
            Set collSWbemObjectSet = .ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'wmplayer.exe'")
           
            If collSWbemObjectSet.Count > 0 Then
                For Each objSWbemObjectEx In collSWbemObjectSet
                    objSWbemObjectEx.Terminate
                Next
            Else
                .Get("Win32_Process").Create "C:\Program Files\Windows Media Player\wmplayer.exe", Empty, Nothing, Empty
            End If
           
            Set collSWbemObjectSet = Nothing
        End With
    End With
End Sub



Время: 07:12.

Время: 07:12.
© OSzone.net 2001-