如何控制程序的哪个实例打开文件?

如何控制程序的哪个实例打开文件?

我在两个不同的虚拟桌面 (Windows 10) 中运行 UltraEdit 的两个实例。我遇到的问题是,当我打开文件时,它不会在当前桌面上打开的实例中打开文件,而只会在第一个实例中打开它。

我看到资源管理器集成是可配置的,但需要建议如何确保使用当前桌面上的实例。

在此处输入图片描述

答案1

此功能需要由 UltraEdit 本身实现,但目前不支持此功能
。Windows不能管理其工作方式(至少使用现在存在的 win32 api)。

以下是 UltraEdit 关于该主题的文档
如你所见,没有这个选项。

至于为什么这样工作,我会在帮助文本后告诉你

Specifying new / original instance

Use the following flags before the file path(s) to specify whether a new instance should be launched for opening the files, or to use the original instance (regardless of the "Allow multiple instances" setting in Settings » Application layout » Miscellaneous:

    /foi forces UltraEdit / UEStudio to use the original (already running) instance
    /fni forces UltraEdit / UEStudio to open the file(s) specified on the command line in a new instance

无价值信息:

  • 当你启动 UltraEdit(或任何管理实例的应用程序)时,它会检查是否存在互斥锁它可以用它来查看它是否已经运行。
  • 如果找不到互斥锁,它会创建一个并启动。
  • 如果确实找到了互斥锁,它会检查上面定义的命令行并决定是否启动新实例,或者识别另一个实例的窗口并将命令行传递给它。
  • 大多数 Windows 应用程序都以这种方式工作。

超级编辑可以很容易支持你想要的,但 IDM 方面需要做一些工作。我从 Windows 3.1 开始就一直在使用 UltraEdit,他们确实实现了我提出的一些建议,所以值得一试!:)

答案2

我这里有 Ultra Edit。它只打开一个实例,然后可以在同一个实例中打开多个文件。

您可以使用(在 Ultra Edit 中)选项(查看新实例)并拥有多个实例。但是两个实例都在虚拟桌面窗口中。

要控制哪个实例打开文件,您必须使用所需的实例。否则将使用第一个实例。

虚拟桌面不是虚拟机,因此虚拟桌面不会改变 Ultra Edit 的工作方式。

相关内容