題名の開いたファイルと言うのは、(ダブル)クリックで開いたファイルの事です。
ファイルを開く操作は設定でクリックかダブルクリックを選択できるので、以下単にクリックと表記します。
例えば、既定のプログラムにWindows Media Playerが選択されていた場合、音楽、動画ファイル(以下単にファイル)をクリックすればWindows Media Playerでそのファイルが再生されます。
ここで、自作したソフトでクリックしたファイルを再生する場合、Windows API、DXライブラリのどちらでファイルを再生するにしても、ファイルのパスが必要だと思うのですが、クリックされたファイルのパスはどの様にして取得すれば良いのでしょうか。
開いたファイルのパスの取得方法
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 開いたファイルのパスの取得方法
ファイルを関連付けすると起動引数としてファイル名が得られます。
「コマンドライン引数」
http://wisdom.sakura.ne.jp/system/winap ... /win6.html
ここの第3パラメータがファイル名の文字列です。
「コマンドライン引数」
http://wisdom.sakura.ne.jp/system/winap ... /win6.html
ここの第3パラメータがファイル名の文字列です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 開いたファイルのパスの取得方法
softyaさんありがとうございます。
無事にファイル名を取得する事が出来ました。
もう1つ質問です。
Windows Media Player(以下WMPと表記)はファイルを再生中に他のファイルを開くと、WMPを新たに起動させずに、新たに開かれたファイルを既に起動してあるWMPで再生します。
この様に、新しくプログラムを起動させずに、新たに開かれたファイルを再生させるにはどの様にすればよいのでしょうか。
無事にファイル名を取得する事が出来ました。
もう1つ質問です。
Windows Media Player(以下WMPと表記)はファイルを再生中に他のファイルを開くと、WMPを新たに起動させずに、新たに開かれたファイルを既に起動してあるWMPで再生します。
この様に、新しくプログラムを起動させずに、新たに開かれたファイルを再生させるにはどの様にすればよいのでしょうか。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 開いたファイルのパスの取得方法
多重起動を禁止して既に起動している自分自身にメッセージで通知するとかの方法を取ります。後で起動した方はウィンドウを生成する前にメッセージ通知したら終了します。
「Windows上で多重起動を防止する方法」
http://www.daccho-it.com/program/WinApi/unmultiboot.htm
メッセージで通信。他にも共有メモリを使うとか方法はいくつかあります。
「メッセージの共有」
http://wisdom.sakura.ne.jp/system/winap ... in155.html
「Windows上で多重起動を防止する方法」
http://www.daccho-it.com/program/WinApi/unmultiboot.htm
メッセージで通信。他にも共有メモリを使うとか方法はいくつかあります。
「メッセージの共有」
http://wisdom.sakura.ne.jp/system/winap ... in155.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 開いたファイルのパスの取得方法
softyaさん返信ありがとうございます。
自分でコードを書いてみて動作確認するまで、少し時間が掛かりそうなので解決とさせてもらいます。
自分でコードを書いてみて動作確認するまで、少し時間が掛かりそうなので解決とさせてもらいます。