2016-10-30 1 views
0

J'essaie de comprendre comment trouver le PID, de par exemple notepad.exe. J'ai googlé ceci, et j'ai trouvé beaucoup de choses, mais je ne peux pas tout à fait le comprendre. J'ai essayé ce code:Comment trouver le PID d'un programme ouvert

Dim currentProcess As Process = Process.GetCurrentProcess() 
Dim localAll As Process() = Process.GetProcesses() 
Dim localByName As Process() = Process.GetProcessesByName("notepad") 
Label1.Text = localByName.ToString 

Mais lorsqu'il est exécuté, je reçois system.diagnostics.process[] en sortie dans label1. Je suis tout à fait noob dans vb.net encore, et n'arrive pas à trouver le problème ici.

+0

a posé cette question hier par un autre utilisateur. Intéressant cette question surgit à nouveau par un nom d'utilisateur différent ... et mot à mot. – Codexer

Répondre

1

GetProcessesByName renvoie un tableau. Vous pouvez avoir plusieurs bloc-notes en cours d'exécution, mais voici comment vous obtiendrez l'ID de la première.

Dim currentProcess As Process = Process.GetCurrentProcess() 
Dim localAll As Process() = Process.GetProcesses() 
Dim localByName As Process() = Process.GetProcessesByName("notepad") 

'Do this 
Label1.Text = localByName(0).Id 

ou

'Find all! 
for each proc in localByName 
    Label1.Text &= proc.Id & vbCrLf 'vbCrlf just adds a new line for reading purposes 
next 
+0

Merci! Cela a fonctionné parfaitement: ^) – Alszajs