Открыть файл со связанным приложением
Я хочу попросить помочь с открытием файла из приложения C # с соответствующим приложением. Я попробовал это:
<code> ProcessStartInfo pi = new ProcessStartInfo(file); pi.Arguments = Path.GetFileName(file); pi.UseShellExecute = true; pi.WorkingDirectory = Path.GetDirectoryName(file); pi.FileName = file; pi.Verb = "OPEN"; Process.Start(pi); </code>
или это:
<code> Process.Start(file); </code>
где строкаfile
в обоих примерах представлен полный путь к файлу, который пытается открыть. Теперь все работает хорошо, кроме(jpg) images with ACDSee app, Ассоциация Irfanview работает хорошо, документы MS Office тоже. После попытки открыть изображение jpg, связанное с acdsee, он просто запускает acdsee в области уведомлений и не открывает файл.
Я обнаружил, что в реестреCLASSES_ROOT для изображений * .jpg в качестве связанного приложения есть значение ACDSee.JPG, и под этим ключом находитсяshell->Open->Command тропинка:
<code>"C:\Program Files\ACD Systems\ACDSee\ACDSee.exe" /dde </code>
и мне кажется, что это странно/dde
это причина, почему я не могу открыть файл. Я понял, что в том же ключе регshell->Open существует некотораяDDEExec
ключевая запись со значением[open("%1")]
Для просмотра Irfan или другого проверенного приложения не существует ddeexec, просто обычная команда вроде
<code>"C:\Program Files (x86)\IrfanView\i_view32.exe" "%1" </code>
который можно запустить из командной строки после замены% 1 для имени файла, but I could not run the command from acdsee entry in the command line :(
Итак, мой вопрос, как я могу настроитьProcessStartInfo
Возражатьensure that it will run all the files как это было бы в проводнике по двойному клику, стандарты и этоDDEExec
из них? Есть ли что-то подобноеDDEExec
что я должен знать?
спасибо и извините за мой EN