*

[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

関連記事

logo

[C#]BlankClear テキストファイルから空白を削除ツール

10分ぐらいで作ったツールって本当にすぐどこかに行ってしまいますよね。 あんなツール作ったけど、え

記事を読む

Wannabenote

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

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

記事を読む

socket p2p unity

[Unity]Socket通信でP2Pすっぞ ホストへ接続

前回はホストが待ちうけするところまで作りました。 今回はクライアントがホストへ接続できるように

記事を読む

Delgate Multi Thread

[C#]マルチスレッドとイベントハンドラでデータベースのテーブルの値の変更を検知する。

システム利用中にデータベースの内容が更新 こういったシステムは往々にしてあるかと思います。 特に

記事を読む

PDFClearBlankToText

[C#, iTextsharp]PDFClearBlankToText PDFのテキストを読み込んで空白削除する

使用は自己責任でお願いします。 ◆概要 前回のBlankClearのあとにPDFからコピペが

記事を読む

Unity_

[Unity]Unity2Dでパズドラのようにタイルを動かす

今回からスクリプトがかなり難しくなってくるかも。 前回の続き。 というわけで前回はドラッグで

記事を読む

logo

[Unity]Unity 2Dチュートリアル スプライトを元の位置に戻す ソース解説

◆全文 using UnityEngine; using System.Collection

記事を読む

logo

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

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

記事を読む

unity debug

[Unity]MonoDevelopのデバッグの仕方

コメントで頂いた質問を打破するためにデバッグの仕方でも書いてみます。 まずは、プロジェクトを開

記事を読む

Unity_

[Unity]Unity2Dチュートリアル 直線で3つ同色のパズルを消去する

前回の続き。 パズドラじゃなくて、パズドラ+ぷよぷよの謎パズルを作ってしまったので、 今回は

記事を読む

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 ↑