Я хочу определить абсолютный путь к файлам, используемым известным процессом, прочитав командную строку.В настоящее время процесс запускается с относительными путями в командной строке, которые указывают на различные файлы, такие как файлы конфигурации.Проблема в том, что если пути не относятся к папке, содержащей исполняемый файл, у меня нет возможности преобразовать относительные пути, указанные в командной строке, ну, я не могу быть уверен на 100%.
Например, два пакетных файла:
Пакет 1 CD c: \ test \ bin test.exe .. \ config \ config.ini
Пакет 2 CD c: \test bin \ test.exe config \ config.ini
Для пакетного файла 1 получаем командную строку "c: \ test \ bin \ test.exe .. \ config \ config.ini" и дляпакетный файл два я получаю «c: \ test \ bin \ test.exe config \ config.ini».Итак, посмотрите, что я не могу разрешить пути.
Во всяком случае, для начала я получил командную строку из запроса WMI, используя ManagementObjectSearcher.Теперь мне нужно получить рабочий каталог, из которого был запущен процесс, чтобы разрешить пути, передаваемые в командной строке, но как?
РЕДАКТИРОВАТЬ: я забыл одну ключевую деталь.Я хочу получить рабочий каталог другого процесса.По сути, моя основная программа собирает информацию из другой программы.Я могу определить идентификатор процесса, потому что я знаю имя исполняемого файла.Я также могу определить командную строку.Теперь я должен найти рабочий каталог или текущий каталог, в котором был запущен исполняемый файл, чтобы я мог разрешить относительные пути командной строки.Надеюсь, я прояснил вопрос.