131

デフォルトのアプリケーションでファイルを開く最も簡単な方法は次のとおりです。

System.Diagnostics.Process.Start(@"c:\myPDF.pdf");

ただし、確定したページ番号でPDFを開きたいので、デフォルトのアプリケーションにパラメータを設定する方法が存在するかどうかを知りたいと思います。

新しいプロセスの作成とパラメーターの設定の方法は知っていますが、この方法でアプリケーションのパスを指定する必要があります。ポータブルアプリケーションが必要であり、毎回アプリケーションのパスを設定する必要はありません。他のコンピューターで使用しています。私の考えは、コンピューターがpdfリーダーをインストールし、何をページを開くかだけを言うことを期待しているということです。

ありがとう。

4

5 に答える 5

59

ファイルをデフォルトのアプリケーションで開く場合、つまり、Acrobat または Reader を指定しないと、指定したページでファイルを開くことができません。

一方、Acrobat または Reader を指定しても問題ない場合は、読み続けてください。


次のように、Acrobat の完全なパスを指定しなくても実行できます。

using Process myProcess = new Process();    
myProcess.StartInfo.FileName = "acroRd32.exe"; //not the full application path
myProcess.StartInfo.Arguments = "/A \"page=2=OpenActions\" C:\\example.pdf";
myProcess.Start();

PDF を Reader ではなく Acrobat で開きたい場合は、2 行目を次のように変更します。

myProcess.StartInfo.FileName = "Acrobat.exe";

レジストリにクエリを実行して、pdf ファイルを開くデフォルトのアプリケーションを特定し、それに応じてプロセスの StartInfo で FileName を定義できます。

詳細については、次の質問に従ってください: Windows で特定のファイルの種類を開くための既定のアプリケーションを見つける

于 2012-07-06T16:25:25.393 に答える
2

あなたは試すことができます

Process process = new Process();
process.StartInfo.FileName = "yourProgram.exe";
process.StartInfo.Arguments = ..... //your parameters
process.Start();
于 2012-07-06T16:18:48.440 に答える
-6

プロジェクトの [プロパティ] の下に [設定] を追加し、デフォルトとして構成できるクリーンで簡単な構成可能な設定を使用してください。

方法: 設計時に新しい設定を作成する

更新:以下のコメントの後

  1. プロジェクトを右クリック
  2. 新しいアイテムを追加
  3. Visual C# 項目 -> 一般の下
  4. 設定ファイルを選択
于 2012-07-06T16:24:34.680 に答える