Информация о программе по её PID - VB
Формулировка задачи:
Привет ВСЕМ.
Перебрал много всего в инете но нигде не нашел функции, как определить название программы и её местонахождение на жестком диске по её
PID
.Так же зная только PID процесса закрыть его: сначала послать проге что бы она сама закрылась (тем самым дав ей сохранить что ей нужно перед закрытием), а если программа так и не закрылась, то сделать это жестко и убить процесс. Помогите, пожалуйста.Решение задачи: «Информация о программе по её PID»
textual
Листинг программы
Private Sub Command1_Click()
'// Сюда пишем PID своей программы
AppFindByPID 1234
End Sub
private Sub AppFindByPID(PID as long)
Dim wmiObj, proCollection, Proc, Query
Set wmiObj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
'// Handle - это на самом деле не Hwnd, а PID (это MS так назвала свойство :)
Query = "SELECT CommandLine, ExecutablePath, Caption FROM Win32_Process WHERE Handle = " & PID
Set proCollection = wmiObj.ExecQuery(Query)
'// If proCollection.Count = 0 Then Exit Sub
For Each Proc In proCollection
MsgBox "Найдено приложение с PID = " & PID & vblf & _
"Имя = " & Proc.Caption & vblf & _
"Путь = " & Proc.ExecutablePath & vblf & _
"Аргументы запуска = " & Proc.CommandLine
Next
End Sub