【问题标题】:Starting app with Process.Start does not show in Task Manager until main application exits在主应用程序退出之前,使用 Process.Start 启动应用程序不会显示在任务管理器中
【发布时间】:2019-05-29 05:31:25
【问题描述】:

我使用 process.start 从我的主应用程序启动一个小应用程序。这是我的代码摘要:(为了清楚起见,我删除了所有错误检查...)

        Dim proc as New Process

        Dim si As New ProcessStartInfo

        si.FileName = "SourceMonitor.exe"

        si.Arguments = "guid=" & GUID & " name=" & Name & " timeout=0"

        si.UseShellExecute = True

        si.CreateNoWindow = True

        Proc.StartInfo = si

        Proc.EnableRaisingEvents = True

        AddHandler Proc.Exited, AddressOf procExitEventHandler

        Proc.Start()

发生的情况是新应用 SourceMonitor 不会出现在任务管理器中 - 但我希望它出现。 但是,一旦启动它的程序(使用 process.start)退出,它就会显示。这对我来说似乎很奇怪! 我尝试将 UseShellExecute 设置为 False,甚至尝试使用 si(我的 ProcessStartInfo)来使用不同的方法来

WindowStyle = ProcessWindowStyle.Hidden
si.UseShellExecute = False 'this is required when using processWindowStyle.hidden

在任何情况下,应用程序在主程序退出之前不会显示在任务管理器中。 有谁知道确保我的应用程序确实显示在任务管理器中的方法?当我需要诊断客户问题时,它会有所帮助 - 因为我需要查看 SourceMonitor 是否正在运行。

【问题讨论】:

  • 我怀疑它并没有丢失,只是不在您希望看到的地方。也许它与您的主程序组合在一起。
  • 是的——确实如此。不确定这是否是众多 Windows 10 更新之一中的新内容,但它对我来说效果很好。新进程确实显示为主应用程序的子进程。如果主应用程序结束,那么它会向下滑动到所有独立进程的列表。

标签: taskmanager process.start


【解决方案1】:

好的 - 找到了“问题” - 这很明显...... 第二个进程归第一个进程所有。它不会作为独立进程显示在列表中,而是作为主进程的子进程显示。任务管理器在主应用程序上有一个下拉箭头。

v  MainApplication
   - SourceMonitor

单击下拉菜单会显示它所屏蔽的 SourceMonitor。如果我停止主应用程序,SourceMonitor 确实会成为一个独立的应用程序,然后显示在常规列表中。这实际上比我希望的要好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2012-08-27
    • 1970-01-01
    • 2021-01-20
    • 2018-07-28
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多