【问题标题】:Visual basic closing a programVisual Basic 关闭程序
【发布时间】:2021-03-02 10:08:54
【问题描述】:

我有一个非常简单的问题,或者至少我认为它应该尽可能简单...... 我通过简单的语句打开一个 jpg 文件:

Process.Start(PlatiBild)

变量“PlatiBild”仅表示路径和文件名。 打开此文件的默认程序是 Microsoft 本身的“图片”。 这工作得很好。

现在我想在满足条件时关闭此文件,但这是我的问题。 它只是行不通。

没有这样的事情: Process.Close(PlatiBild)

所以我尝试了例如: Process.GetProcessesByName("图片")(0).Kill()

但是,图片应用程序仍然无法关闭。 在我看来应该只是简单的一行代码,我错了吗?

感谢所有至少看过这个的人!

【问题讨论】:

  • 我不知道,但从 using (Process myProcess = Process.Start(PlatiBild)) 开始,然后使用 myProcess.CloseMainWindow();myProcess.Close(); 也许?这是 .NET 5.0 吗?
  • 不,它的 .NET Framework 4.5.2。我刚刚检查了您的建议,但最后我会收到与使用 Process.GetProcessesByName("Pictures")(0).Kill() 收到的相同的错误消息,即“System.IndexOutOfRangeException”。但至少与我之前尝试过的不同,非常感谢!
  • 你需要使用kill命令。此处的示例:stackoverflow.com/questions/32868313/…

标签: windows vb.net


【解决方案1】:

我自己才发现,当然还有你们的 cmets, 要关闭 Microsoft 的照片应用程序,您需要调用以下命令:

Process.GetProcessesByName("Microsoft.Photos")(0).Kill()

因此,您实际上必须调用“Microsoft.Photos”,而不仅仅是任务管理器的进程名称中指示的“照片”。

正如极简主义者提到的,你需要杀死,因为看起来语句 CloseMainWindow() 不适用于这个应用程序!

感谢所有花时间观看此问题的人!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多