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

发布于 2024-11-14 01:47:00 字数 281 浏览 2 评论 0原文

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

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

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

i wan to create a program that can get the application name
i can start the program but cant get the program name

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

it show Process with an Id of 1796 is not running, but the program already opened

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流年里的时光 2024-11-21 01:47:00

Handle!=IdToString() 不会为您提供进程名称:

Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)

在一个消息框中显示进程 ID,然后“计算”在下。

如果您设置了 Option Strict On,您就会收到有关 Handle 和 Id 之间混淆的警告,因为 Handle 返回 IntPtr,但 GetProcessById code> 需要一个 Integer

Handle!=Id, and ToString() won't give you the process name:

Dim a = Process.Start("calc").Id
MsgBox(a)
MsgBox(Process.GetProcessById(a).ProcessName)

Displays a process ID in one message box, then "calc" in the next.

If you had Option Strict On, you'd have received a warning already about your mixup between Handle and Id, since Handle returns an IntPtr, but GetProcessById expects an Integer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文