掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
作成するWinアプリと特定のファイルを関連付けるには? (ID:144846)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
特攻隊長まるるうさん、お礼が随分と遅くなり大変申し訳ありませんでした。 # 自分なりにいろんなサイト等で調査して頭の中で整理するのにやたら時間がかかってしまった… # スレッドを何日も(お礼やら、報告やら)ほったらかし状態でしたがどうかお許し下さい。 ほったらかした分の(長くなるかもですが)報告致します。 テスト環境はWinXP , VB.NET(2003)です。 結論から申し上げますとなんとか自分なりの道筋が見えてきました。 まず、当初の質問であった「ファイルの関連付け」ですが、 助言頂いた通り、インストーラの設定で行えそうです。 # さらにOrca(?)で詳細の確認や編集が出来るような事も知りました。 最終的にリリースする際にはもちろんインストーラに設定する予定ですが、 今回のテスト環境上ではエクスプローラから、 ツール → フォルダオプション → ファイルの種類にて ファイル(*.abc)と、テストアプリを関連付けてみました。 次に下記についてですが、 >あとは(最終的に)今回やりたい事はプログラム的には(技術的には) >どのような事をして実現するのか?などを調査しようと思います。 > >「起動した時点でアプリは開かれた*.abc(パスとか)を認識して印刷用にそこからデータを読み込むには?」 調査してくうちに、いかに欲張りな(一度にたくさんの)質問だったのかと… >「起動した時点でアプリは開かれた*.abc(パスとか)を認識して については、"起動時のコマンドラインを配列で取得する" に辿り着き、 System.Environment.GetCommandLineArgsメソッドの存在を知り試してみました。 # 配列(0)番目にはサンプルアプリのパス、 # (1)番目には開かれたファイルのパスを取得している? # ファイルパスは(1)番目固定で大丈夫か?といった疑問は多少残りますが… >印刷用にそこからデータを読み込むには?」 については、上記で取得したパスを元に System.IO.StreamReaderクラスでテキストファイルを1行ずつ読込む手法や ADO.NETでCSV形式テキストファイルを読み込む(DataTableや配列に取得する)手法を見つけました。 今回の*.abcは、CSV形式のテキストファイルなので後者が良いかと思いましたが そのままのファイル名だとうまくいかないようなので(*.txtにリネームするとうまくいく) System.IO.StreamReaderクラスと、Splitメソッドで配列に取得する方法を知り試してみました。 ここから先は(普段やらされている)印刷プログラムを作成するだけなので何とかなりそうです。 もし何か勘違いしている事や注意点などあればツッコミいただけると助かりますが、 とりあえず解決マークは付けておきます。ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.