Можно ли переименовать процесс (а не имя программы) после того, как каждый экземпляр открывается из одного и того же .exe? - PullRequest
1 голос
/ 16 июня 2020

Я запускаю программу в нескольких экземплярах одного файла .exe на Windows 10

, например, если я открою 3 экземпляра «example.exe», имя процесса отобразится в диспетчер задач, например.

example.exe
example.exe
example.exe

Я хочу назначать номер после каждого процесса, например.

example - 01.exe
example - 02.exe
example - 03.exe
................
................
................
example - 99.exe

Чтобы я мог настроить правила из другой программы для взаимодействия с каждым запущенным процессом.

Есть ли решение этой проблемы?

Спасибо.

1 Ответ

0 голосов
/ 16 июня 2020

Как указывает Ахмед в комментариях, Windows своего рода автонумерация процесса для вас путем создания идентификатора процесса, который может использоваться для различения между ними. Проблема в том, что идентификатор процесса не является последовательным, как здесь. Вы можете отсортировать их по идентификатору процесса и назначить свою собственную нумерацию, но если один процесс завершит изменение нумерации для всех этих процессов после него, это может быть проблемой для вас. Вы всегда можете запускать процессы, получать их идентификаторы и поддерживать отображение 01 - это идентификатор процесса x, 02 - это идентификатор процесса y et c самостоятельно и передавать его своей программе

Вы также можете рассмотреть возможность запуска каждого приложение с аргументами командной строки, которые вы позже можете получить с помощью одного из упомянутых методов здесь , поэтому, когда вы трижды запускаете своих бывших, вы могли:

for(int x = 1; x <= 3; x++)
  Process.Start("example.exe", x.ToString());

Пример должен быть способен игнорировать это фиктивный аргумент. Если он прислушается к этому, найдите способ сделать его бездействующим

Если все это не удастся, возможно, просто имея 99 копий одного и того же exe с соответствующими именами в папке и готовых к go, самый простой трюк

...