Handle
! = Id
, а ToString()
не даст вам имя процесса:
Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)
Отображает идентификатор процесса в одном окне сообщения, а затем «calc» в следующем.
Если бы у вас был Option Strict On, вы бы уже получили предупреждение о вашем смешении между Handle и Id, так как Handle
возвращает IntPtr
, но GetProcessById
ожидает Integer
.