【发布时间】:2011-09-09 21:37:39
【问题描述】:
我想创建一个可以获取应用程序名称的程序
我可以启动程序但无法获取程序名称
<br/><br/>
a = Process.Start("calc").Handle<br/>
MsgBox(a)<br/>
MsgBox(Process.GetProcessById(a).ToSt</ br>ring)<br/>
<br/>
显示 ID 为 1796 的进程未运行,但程序已打开
【问题讨论】:
我想创建一个可以获取应用程序名称的程序
我可以启动程序但无法获取程序名称
<br/><br/>
a = Process.Start("calc").Handle<br/>
MsgBox(a)<br/>
MsgBox(Process.GetProcessById(a).ToSt</ br>ring)<br/>
<br/>
显示 ID 为 1796 的进程未运行,但程序已打开
【问题讨论】:
Handle!=Id 和ToString() 不会给你进程名称:
Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)
在一个消息框中显示进程 ID,然后在下一个消息框中显示“计算”。
如果您启用了 Option Strict On,您已经收到了关于您在 Handle 和 Id 之间混淆的警告,因为 Handle 返回一个 IntPtr,但 GetProcessById 期望一个 Integer。
【讨论】: