无法获取进程名称(vb.net)

无法获取进程名称(vb.net),vb.net,user32,Vb.net,User32,我想创建一个可以获取应用程序名称的程序 我可以启动程序,但无法获取程序名 <br/><br/> a = Process.Start("calc").Handle<br/> MsgBox(a)<br/> MsgBox(Process.GetProcessById(a).ToSt</ br>ring)<br/> <br/> a=进程。开始(“计算”)。句柄 MsgBox(a) MsgBox(Process.Get

我想创建一个可以获取应用程序名称的程序
我可以启动程序,但无法获取程序名

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


a=进程。开始(“计算”)。句柄
MsgBox(a)
MsgBox(Process.GetProcessById(a.ToString)


它显示Id为1796的进程未运行,但程序已打开

句柄
=
Id
,和
ToString()
不会给出进程名称:

Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)
在一个消息框中显示流程ID,然后在下一个消息框中显示“calc”


如果您选择了Option Strict On,您可能已经收到了一条关于句柄和Id混淆的警告,因为
Handle
返回一个
IntPtr
,但
GetProcessById
需要一个
整数
句柄
=
Id
,和
ToString()
不会给出进程名称:

Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)
在一个消息框中显示流程ID,然后在下一个消息框中显示“calc”


如果您启用了Option Strict On,您可能已经收到一条关于句柄和Id混淆的警告,因为
Handle
返回一个
IntPtr
,但
GetProcessById
需要一个
整数。。谢谢你回复我的帖子。。伊斯兰会议组织。。谢谢你回复我的帖子。。泰