Как контролировать, какой экземпляр программы открывает файл?

Я запускаю два экземпляра UltraEdit на двух разных виртуальных рабочих столах (Windows 10). У меня проблема в том, что когда я открываю файл, он не открывает файл в том экземпляре, который открыт на текущем рабочем столе, а просто открывает его в первую очередь.

Я вижу, что интеграцию с проводником можно настроить, но мне нужен совет, как убедиться, что используется экземпляр на текущем рабочем столе.

1 ответ

Эта функция должна быть реализована самим UltraEdit, и в настоящее время он не поддерживает эту функцию.
Windows не может управлять тем, как это работает (по крайней мере, с API Win32 в том виде, в котором он существует сейчас).

Ниже представлена ​​документация 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 работают таким образом.

UltraEdit может легко поддерживать то, что вы хотите, но это потребует некоторой работы со стороны IDM. Я использую UltraEdit начиная с Windows 3.1, и они действительно реализовали некоторые из моих предложений, так что попробовать стоит! :)

Другие вопросы по тегам