Najłatwiejszym sposobem otwarcia pliku za pomocą domyślnej aplikacji jest:
System.Diagnostics.Process.Start(@"c:\myPDF.pdf");
Chciałbym jednak wiedzieć, czy istnieje sposób na ustawienie parametrów w domyślnej aplikacji, ponieważ chciałbym otworzyć plik PDF o określonym numerze strony.
Wiem jak to zrobić tworząc nowy proces i ustawiając parametry, ale w ten sposób muszę wskazać ścieżkę do aplikacji i chciałbym mieć aplikację przenośną i nie musieć za każdym razem ustawiać ścieżki do aplikacji Korzystam z aplikacji na innym komputerze. Mój pomysł jest taki, że oczekuję, że komputer ma zainstalowany czytnik pdf i mówi tylko, co otworzyć stronę.
Dzięki.
myProcess.StartInfo.FileName = "Acrobat.exe";
bez podania pełnej ścieżki do aplikacji?Odpowiedzi:
Jeśli chcesz, aby plik był otwierany za pomocą domyślnej aplikacji, to znaczy bez określania programu Acrobat lub Reader, nie możesz otworzyć pliku na określonej stronie.
Z drugiej strony, jeśli nie masz nic przeciwko określaniu programu Acrobat lub Reader, czytaj dalej:
Możesz to zrobić bez podawania pełnej ścieżki programu Acrobat, na przykład:
Jeśli nie chcesz, aby plik PDF otwierał się w programie Reader, ale w programie Acrobat, zmień drugą linię w następujący sposób:
Możesz wysłać zapytanie do rejestru, aby zidentyfikować domyślną aplikację do otwierania plików PDF, a następnie odpowiednio zdefiniować FileName w StartInfo procesu.
Postępuj zgodnie z tym pytaniem, aby uzyskać szczegółowe informacje na ten temat: Znalezienie domyślnej aplikacji do otwierania określonego typu pliku w systemie Windows
źródło
to powinno być blisko!
źródło
Przekonwertowałem kod VB w poście na blogu połączonym przez xsl do C # i trochę go zmodyfikowałem:
EDYCJA - to jest zawodne. Zobacz Znajdowanie domyślnej aplikacji do otwierania określonego typu pliku w systemie Windows .
źródło
możesz spróbować
źródło
Proszę dodać ustawienia we właściwościach projektu i korzystać z nich w ten sposób, aby uzyskać czyste i łatwe do skonfigurowania ustawienia, które można skonfigurować jako domyślne
Instrukcje: tworzenie nowego ustawienia w czasie projektowania
Aktualizacja: po komentarzach poniżej
źródło