У меня есть программа, написанная на foxpro (~содрогаюсь~), которую я унаследовал.
Проблема в том, что в нем есть некоторые элементы управления COM. Когда вы запускаете 2 копии, вторая копия будет выдавать ошибки. Поэтому я подумал, что это можно почистить, чтобы вывести активную копию на передний план, разрешая только один экземпляр.
Это было бы хорошо, но программа принимает параметр командной строки, позволяющий запускать ее в другом режиме. Вы можете иметь только одну копию, работающую в каждом режиме, например.
1)
"program /bos"
"program /pos" = OK
2)
"program /pos"
"program /pos" = NOT OK
Я бы хотел, чтобы это
"program /pos"
"program /pos" - Bring currently running pos instance to the front.
"program /bos" - start a BOS instance.
"program /bos" - bring the bos instance to the front.
Я надеюсь, что в этом есть смысл. Что такое элегантный способ определить, находится ли запущенный экземпляр программы в режиме pos или bos, чтобы я мог определить, какой процесс вывести на передний план или запустить новую копию в запрошенном режиме.
Мне не обязательно нужен здесь код foxpro - хотя это было бы неплохо. Концепция - это то, что мне нужно, и некоторые подсказки в отношении функций Windows API для ее достижения также будут полезны. например можете ли вы определить параметры командной строки запущенного процесса?