Откройте все файлы, когда пользователь щелкнет правой кнопкой мыши и выберет «Открыть с помощью» - PullRequest
5 голосов
/ 01 июля 2010

У меня есть приложение, написанное на WPF / C #, которое может принимать несколько файлов в качестве аргументов командной строки. Когда я запускаю его из командной строки с несколькими файлами, он открывает все из них. Когда я выбираю несколько файлов в окне проводника и перетаскиваю их на значок приложения, он открывает их все. Но если я выберу несколько файлов в проводнике и щелкну правой кнопкой мыши, выберите «Открыть с помощью», а затем выберите мое приложение, и откроется только последнее. Есть ли способ сообщить Windows, что мое приложение может обрабатывать более одного файла? Я заметил, что некоторые программы работают так, а другие - нет.

Ответы [ 2 ]

1 голос
/ 21 июля 2010

Оболочка фактически пытается запустить отдельный экземпляр вашего приложения для каждого выбранного файла.Вашему приложению необходимо (а) убедиться, что только первый экземпляр действительно отображает его пользовательский интерфейс, и (б) выполнить межпроцессное взаимодействие для передачи файлов из более поздних экземпляров в первый.Возможно, вы уже выполняете (a), но не (b), что объясняет, почему открывается только один файл.См. Второй вопрос (часть о «Приложениях для одного экземпляра») на Пост Стивена Туба об этом.Вы также можете прочитать о Динамическом обмене данными (DDE) , который является распространенным способом передачи информации между экземплярами приложения.

0 голосов
/ 01 июля 2010

Это проблема с проводником Windows, работающим только с последним выбранным файлом.Может быть, это может помочь: http://social.technet.microsoft.com/Forums/en-US/w7itproui/thread/1d2e6a3b-6abb-4be9-82ac-447ecdbce201

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...