Информация о программе по её 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы