Ich habe ein Problem beim Öffnen einer PDF-Datei mit Process.Start(). Das Programm führt den Prozess als Hintergrundprozess aus, aber es wird kein Adobe Reader-Fenster angezeigt. Eine Lösung, die ich gefunden habe, war chrome.exe, aber mein Client möchte auf Adobe-Reader öffnen, da es das Standard-Windows-Programm ist.Diagnostics.Process öffnet keine PDF-Datei mit Adobe Reader
(Ich habe auch versucht, ohne "AcroRd32.exe" zu zwingen und den vollständigen Pfad von "AcroRd32.exe" übergeben. Das gleiche Problem).
Wer hat das gelöst?
Mein Code:
var p = new Process
{
StartInfo = new ProcessStartInfo(@"AcroRd32.exe", @"D:\Tests\81803130000326__.pdf")
};
p.Start();
Hintergrundprozesse:
Ich habe auch diese Frage geprüft: Process.Start(/* path to pdf */) doesn't work with Adobe Reader on Windows 8
Edits
EDIT INFO: Vergessen zu sagen, dass ich von Windows 10 mit Adobe Reader DC renne 2018.009.20044
EDIT 2: Fand ein "Problem" von Adobe Reader DC. Es gibt ein Sicherheitsniveau, das mich nicht als Administrator laufen lässt (frag mich nicht warum). Überprüfen Sie diesen Link für weitere Informationen: https://forums.adobe.com/thread/1955530
Jetzt werde ich versuchen, eine Lösung zu finden, es ohne Administratorrechte ausgeführt werden, oder fragen Sie meinen Klienten das Kontrollkästchen
Lösung
So zu deaktivieren, ich habe eine Lösung für mein Problem gefunden. Der Adobe Reader hat seit der Version 10.0 eine "Protected Mode" Einstellung. Ich habe einen Code geschrieben, um diese Einstellung in der Registrierung zu ändern, damit der Benutzer dies nicht tun muss. Link: https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/protectedmode.html
Ich hoffe, es hilft anderen in der Zukunft!
Lösungscode:
var registroAdobe = Registry.LocalMachine.OpenSubKey(@"Software\Policies\Adobe\Acrobat Reader\DC\", true);
registroAdobe.SetValue("bProtectedMode", 0);
Dies funktioniert für Acrobat Reader DC. Sie können "Software \ Policies \ Adobe \" Produkte und Versionen ausführen, wenn Sie sie benötigen.
Versuchen Sie, den vollständigen Pfad zu AcroRd32.exe zu übergeben. – Botonomous
Ich öffne direkt die PDF-Datei 'System.Diagnostics.Process.Start (" output.pdf ");', verwenden Sie den Standard-PDF-Viewer, den Sie auf Ihrem Computer installiert haben. –
@Botonomous Wie ich schon sagte, ich habe das gleiche Problem :( – Wesley