Как получить путь к связанному файлу, используемому для запуска программы? - PullRequest
0 голосов
/ 24 марта 2010

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

Сначала я думал, что путь к файлу будет в Environment.CommandLine, но в командной строке содержится только путь к программе.

Я определил сопоставление файлов с помощью параметров публикации в Visual Studio следующим образом: расширение: .ext, Описание: Some File, ProgId: ProjectName, Icon: SomeIcon.ico.

Ответы [ 2 ]

0 голосов
/ 24 марта 2010

Предположительно, ваша ассоциация типов файлов может быть неправильно настроена. Если вы посмотрите в реестре команду «Открыть» для вашего типа файла, эта команда, вероятно, настроена как «c: \ your-company \ your-app.exe», а не как «c: \ your-company \ your -app.exe ""% 1 "- это то, что нужно, если вы хотите, чтобы путь к файлу отображался в командной строке.

0 голосов
/ 24 марта 2010

Вы правы, это действительно должно быть передано в качестве аргумента командной строки и быть доступным через Environment.CommandLine.

Я предполагаю, что что-то не так с самой ассоциацией файлов. Здесь - устаревшая, но все еще полезная статья TechNet о том, как эти вещи работают. В частности, "%1" на скриншоте ниже имеет важное значение.

Screenshot of action editing dialog

Я не уверен насчет DDE, поэтому, если вы его не используете, выключите его.

...