*

[C#]システム関連付けのソフトでファイルを起動する

公開日: : C#

事の発端

PDFをAdobeReaderで開きたいといわれました。
コマンドラインでAdobeReaderにファイルPathとパラメータを渡せば開けるからそれでいいかな、と思ってたんですが、よくよく聞いてみると、AdobeReaderのバージョンが混在。
中にはAdobeじゃないPDFReaderを使っている人も。
そうなると、AdobeReaderのプログラム本体の場所も変わったり、場合によってはAdobeじゃないReaderの実行ファイルまで全てを網羅しなくてはいけません。

そしてバージョンが変わった際のことも考えて、各種多様なPathを追加出来るようにして……オプションも柔軟に設定できるようにして……。

無理です。

ダブルクリックしたら開けますよね

よくよく考えると、AdobeReaderだろうがPDFReaderだろうが、その他の製品であろうが、拡張子に関連付けされたプログラムってありますよね。
それならば、拡張子に関連付けされたプログラムをC#でも実行できるんではないでしょうか、というわけでちょっと検索してみるとすぐ見つかりました。
いつもPDFにしてそのまま印刷かけたり、とにかくサードパーティ製品はなるべく使わないようにしていたので、こんな単純なことすら知りませんでした。

方法

ソース

private void OpenByRelate(string filePath, string option){
	// コマンドライン引数無しで実行
	System.Diagnostics.Process.Start(filePath);
	// コマンドライン引数有りで実行
	System.Diagnostics.Process.Start(filePath, option);
}

解説

たったのこれだけで実行出来るんですね。
これならバージョンが変わろうが、ソフトが違おうが、関連付けされたプログラムでファイルを実行することが出来ます。

ad

関連記事

NuGet visual studio

[C#]C#でPDFファイルを画像(System.Drawing.Image)にする

PDFを画像に PDFファイルを読み込んで、画像にする必要があったんです。 インターネットで調べ

記事を読む

Wannabenote

[Unity]Unity2Dチュートリアル パズルを落下させる。

前回の続き。 とりあえず、パズルが消えたので、パズルを落としましょう。 以下のようにソースを

記事を読む

logo

[C#]AS400をDBに見立ててPCのPGMからODBC接続する

◆前提条件◆ PCにClient Accessがインストールされている。 PCに.NET Fra

記事を読む

instantiate cube unity

[Unity]コードリファレンス GameObjectの複製

GameObjectを複製します。 Object.Instantiate(Object ori

記事を読む

cwbx.dll 参照の追加

[C#,AS400]C#でAS400のプログラムCallとコマンドの実行方法。

PCのプログラムからCall AS400のRPGPGMをPCから呼び出ししたいときがあります。

記事を読む

logo

[C#]拡張メソッドとリフレクションで列挙体に設定した文字列を表示

前に書いた、列挙体の文字列を返すための書き方。 文字列と列挙体を少しでも近い位置に書きたいときに。

記事を読む

unity socket

[Unity]Socket通信でP2Pすっぞ 接続待ち受け

P2Pしましょ。 まずはサーバーとして待ちうけまで作ります。 UnityだとNAT越えどうす

記事を読む

logo

[Unity]Unity2Dチュートリアル 同じ色のパズルを消去する ソース解説

◆全文 using UnityEngine; using System.Collecti

記事を読む

logo

[Unity]コードリファレンス ソケット通信の開始して接続して切断する。

オンラインゲームを作るためにはソケット通信が必要です。 今回はいきなりソースから。解説は下の方に。

記事を読む

unity

[Unity]コードリファレンス GameObjectの検索と削除

検索ですので、検索対象となるCubeでも適当に置いておきます。 GameObject.

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑