У меня есть программа, написанная на foxpro (~ shudder ~), которую я унаследовал.
Проблема в том, что в нем есть некоторые элементы управления 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 также могут помочь. например вы можете определить параметры командной строки запущенного процесса?