2010-03-24 3 views
0

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

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

Я установил ассоциацию файлов, используя параметры публикации в visual studio, например: extension: .ext, Description: Some File, ProgId: ProjectName, Icon: SomeIcon.ico.

ответ

0

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

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

Screenshot of action editing dialog

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

0

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

+0

Не должна ли визуальная студия правильно настраивать это свойство? –