C/C++ ( Windows API 実装あり ) でやっています。
以前 (多分 このサイトで) 似たような質問をしたのですが、再度投稿します。
VC++ ではなく MinGW でやっています。 ( つまり MFC は使えない。 )
C/C++ の実行ファイル ( あるいは DLL ) から 「ファイルの関連付け」を行いたいのですが、
どうすればよいでしょうか。
レジストリを書き換える方法があるようですが、この方法だとどこを書き換えるべきなのか...
やりたいことは、
-
(外出先で) 画像を閲覧する場合、画像ビューアを USBに入っている実行ファイル ( 例: MassiGra ) で閲覧できるようにする (※1)
-
本来は存在しない独自の拡張子 ( 例: *.abc ) を作り、この実行ファイル用ファイルとする
-
( オプションとして。 ) Java の JARファイルを ダブルクリックで開けるように設定する
です。
最低でも、
「画像を閲覧...」と「本来は...」の二つ
です。
前回質問したときに頂いた回答では、
「猫でも」の「WindowsAPI版」で、
レジストリを書き換えて...とやるやつでした。
ですが、そのソースコードではどこを書き換えるべきなのか...
できれば、
C++
1/* 2 関数名: ExchangeExtensionSet 3 用 途: 拡張子の関連付け 4 引 数: 5 const char *ext := 対象拡張子 6 const char *exe := 実行ファイルのパス 7 戻り値: 8 bool 9*/ 10bool ExchangeExtensionSet( const char *ext, const char *exe ); 11
とすると、
C++
1if( ExchangeExtensionSet( ".jpg", "C:\\massigra\\MassiGra.exe" ) ){ 2 MessageBox( NULL, "設定完了!", "Result", MB_OK ); 3}else{ 4 MessageBox( NULL, "登録失敗", "Result", MB_OK ); 5}
という感じでできたらなぁと。
自分で組むのはいいですが、
どこをどう書き換えるべきなのかがわかりません。
レジストリの中身を変更する関数の引数が 意味がわかりません。
( 定数部分はともかく、文字列の部分とか。 )
どなたかご教授下さい。
[環境等]
言語 : C/C++
WindowsAPI : あり
コンパイラ : MinGW ( つまり、MFC は不可能 )
宜しくお願い致します。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。