proc$='<Temp>\proc.txt'
param$='HIDE,WAIT /c tasklist >"'+proc$+'"'
Run("cmd","param$")
num = NOL(proc$)
keyword$='program.exe'
For i = 1 To num
string$=StrFromFile(proc$,i,1)
string$=LOW(string$)
If (POS(keyword$, string$)=1) Then
** процесс выполняется
Break()
End
Next i
Dim strComputer As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Process", , 48)
For Each objItem In colItems
If objItem.Name = "winamp.exe" Then
MsgBox "АААА! Вырубите музыку!"
End If
Next
Megas13 писал(а):Используй функцию поиска окна FindWindow, надо искать окно с классом Winamp v1.x. Если найдешь хоть одно окно, то Winamp запущен.
Больше ни кто не имеет право называться winamp.exe?karlex писал(а):Больше ни кто не имеет право использовать такое имя класса?
MIT писал(а):Больше ни кто не имеет право называться winamp.exe?
iGrok писал(а):А может, автору топика нужен не винамп, а конкретно тот экзешник, который кто-то вздумал обозвать winamp.exe? =)
karlex писал(а):Больше ни кто не имеет право использовать такое имя класса?
alibek писал(а):А тебе что с этого?
Если кто-то использует это имя класса, значит он эмулирует WinAmp.
karlex писал(а):Да ладно, это я так, придрался, видимо.
Просто, думаю, не лучший вариант через имя класса окна реализовывать сабж.
Если кто-то использует это имя класса, значит он эмулирует WinAmp.
Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 40