не удалось получить имя для продолжения (vb.net) - PullRequest
1 голос
/ 07 июня 2011

я хочу создать программу, которая может получить имя приложенияя могу запустить программу, но не могу получить имя программы

<br/><br/>
a = Process.Start("calc").Handle<br/>
MsgBox(a)<br/>
MsgBox(Process.GetProcessById(a).ToSt</ br>ring)<br/>
<br/>

, это показывает, что процесс с идентификатором 1796 не запущен, но программа уже открыта

1 Ответ

1 голос
/ 07 июня 2011

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.

...