У меня возникла проблема при попытке открыть файл PDF с помощью Process.Start (). Программа запускает процесс в фоновом режиме, но окно Adobe Reader не отображается. Решение, которое я нашел, заключалось в использовании chrome.exe, но мой клиент хочет открыться в Adobe-reader, поскольку это программа Windows по умолчанию.
(Я также пытался без принудительного использования «AcroRd32.exe» и передачи полного пути к «AcroRd32.exe». Та же проблема).
Кто-нибудь решил это?
Мой код:
var p = new Process
{
StartInfo = new ProcessStartInfo(@"AcroRd32.exe", @"D:\Tests\81803130000326__.pdf")
};
p.Start();
Фоновые процессы:
Я также проверил этот вопрос: Process.Start (/ * путь к pdf * /) не работает с Adobe Reader в Windows 8
Изменения
ИЗМЕНИТЬ ИНФОРМАЦИЮ: забыл сказать, что у меня Windows 10 с Adobe Reader DC 2018.009.20044
РЕДАКТИРОВАТЬ 2: обнаружена "проблема" Adobe Reader DC. Он поддерживает уровень безопасности, который не позволяет мне запускать его от имени администратора (не спрашивайте меня, почему). Для получения дополнительной информации перейдите по этой ссылке: https://forums.adobe.com/thread/1955530
Сейчас я попробую найти решение, чтобы запустить его без прав администратора, или попрошу своего клиента снять флажок
Решение
Итак, я нашел решение своей проблемы. Adobe Reader, начиная с версии 10.0, имеет настройку «Защищенный режим». Я написал код для изменения этого параметра в реестре, поэтому пользователю не нужно этого делать. Ссылка: https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/protectedmode.html
Надеюсь, это поможет другим в будущем!
Код решения:
var registroAdobe = Registry.LocalMachine.OpenSubKey(@"Software\Policies\Adobe\Acrobat Reader\DC\", true);
registroAdobe.SetValue("bProtectedMode", 0);
Это работает для Acrobat Reader DC. Вы можете запустить "Программное обеспечение \ Политики \ Adobe \" Продукты и версии, если вам это нужно.
System.Diagnostics.Process.Start("output.pdf");
, для этого используется программа просмотра pdf по умолчанию, которую вы установили на свой компьютер. - person Pablo Tondolo de Vargas   schedule 27.11.2017