トップページ > 記事閲覧
エクスプローラからファイルを開く方法
名前:fq47 日時: 2018/12/31 01:18

エクスプローラからファイルを開く方法は存在するのでしょうか?存在するのであれば、教えていただけたら嬉しいです。
メンテ

Page: 1 |

Re: エクスプローラからファイルを開く方法 ( No.1 )
名前:管理人 日時:2018/12/31 02:23

すみません、ご質問の意図がわかりません エクスプローラで目的のファイルをダブルクリックすれば良い、というわけではないのでしょうか?
メンテ
Re: エクスプローラからファイルを開く方法 ( No.2 )
名前:fq47 日時:2018/12/31 03:56

分かりづらい質問で申し訳ないです。 DXライブラリで作成したソフトから任意のファイルをエクスプローラから参照して開きたいという意図でした。 Googleで見つけた画像ですが、 https://dobon.net/vb/dotnet/form/img/folderdialog.png のように任意のファイルをDXライブラリで作成したソフトから開きたいのです。 例えば音楽を再生する際に int SHandle ; SHandle = LoadSoundMem( "test.wav" ) ; PlaySoundMem( SHandle , DX_PLAYTYPE_NORMAL ) ; のように書いている"test.wav"を実行時にプレイヤーが上の画像のように任意のファイルをエクスプローラから参照して開くようにしたいのです。 拙い文章ですみません。回答よろしくお願いします...
メンテ
Re: エクスプローラからファイルを開く方法 ( No.3 )
名前:管理人 日時:2018/12/31 05:30

ご返答ありがとうございます、理解できました GetOpenFileName という API を使用するとエクスプローラからファイルを選択するようにできます GetOpenFileName を使用して LoadGraph で読み込む画像のパスを取得するサンプルを組みましたので、 よろしければご覧ください #include "DxLib.h" #include <string.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int GrHandle = 0 ; char FullPath[ MAX_PATH ], FileName[ MAX_PATH ] ; // ウインドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; OPENFILENAME ofn ; memset( &ofn, 0, sizeof( OPENFILENAME ) ) ; memset( FullPath, 0, sizeof( FullPath ) ) ; memset( FileName, 0, sizeof( FileName ) ) ; ofn.lStructSize = sizeof( OPENFILENAME ) ; ofn.hwndOwner = GetMainWindowHandle() ; // 説明の末尾に \0 を記載して、その後ろに表示するファイルの指定、最後に \0\0 を記述 ofn.lpstrFilter = "Bitmap File or Jpeg File or Png File\0*.bmp;*.jpg;*.png\0\0" ; // lpstrFile に指定する配列にファイルのフルパスが代入されます ofn.lpstrFile = FullPath ; ofn.nMaxFile = sizeof( FullPath ) ; // lpstrFileTitle に指定する配列にファイル名( フォルダパスが無い )が代入されます ofn.lpstrFileTitle = FileName ; ofn.nMaxFileTitle = sizeof( FileName ) ; ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ; ofn.lpstrDefExt = "" ; // lpstrTitle に表示されるダイアログの説明を代入します ofn.lpstrTitle = "画像ファイルの読み込み" ; // パスの指定が成功した場合は GetOpenFileName の戻り値は 0 以外になります if( GetOpenFileName( &ofn ) != 0 ) { // ファイル名を取得できたら画像を読み込む GrHandle = LoadGraph( FullPath ) ; } SetDrawScreen( DX_SCREEN_BACK ) ; while( ProcessMessage() == 0 ) { ClearDrawScreen() ; DrawGraph( 0, 0, GrHandle, TRUE ) ; ScreenFlip() ; } // DXライブラリの後始末 DxLib_End() ; // ソフトの終了 return 0 ; }
メンテ
Re: エクスプローラからファイルを開く方法 ( No.4 )
名前:fq47 日時:2018/12/31 11:04

回答ありがとうございます! やろうとしていたことが出来ました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存