C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

プログラムを関連付けるには

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■93189 / inTopicNo.1)  プログラムを関連付けるには
  
□投稿者/ じる (1回)-(2019/11/26(Tue) 22:55:07)

分類:[.NET 全般] 

2019/11/26(Tue) 22:59:35 編集(投稿者)

情報が見つかりましたので
また、後ほど再質問します

引用返信 編集キー/
■93190 / inTopicNo.2)  Re[1]: プログラムを関連付けるには
□投稿者/ じる (2回)-(2019/11/26(Tue) 22:59:45)
No93189 (じる さん) に返信
> 2019/11/26(Tue) 22:59:35 編集(投稿者)
>
> 情報が見つかりましたので
> また、後ほど再質問します
>
解決済み
引用返信 編集キー/
■93191 / inTopicNo.3)  Re[2]: プログラムを関連付けるには
□投稿者/ じる (3回)-(2019/11/26(Tue) 23:11:37)
VB.NETを使って
D&Dすることでファイルを読み込むプログラムを作成しています。

毎回、D&Dするのは面倒ですので、
ファイルの関連付けを行い、
設定した拡張子のファイルをダブルクリックするだけで
そのファイルがD&Dされた状態で、プログラムが起動するようにしたいと考えています。
また、関連付けられたファイルのアイコンも
自分で用意したicoファイルが設定されるようにしたいと考えています。

https://dobon.net/vb/dotnet/system/associatedapp.html

このページに書かれた方法で
ファイルの関連付け設定だけはうまくできました。

しかし、アイコンの設定がうまくいきません。

このことは記事のコメントにも書かれてあり、


> サンプルのiconPathとiconIndexの値を変えることで、できませんか?

という回答がありますが、
これらの設定を変えてみましたが、
やはりアイコンを登録することはできませんでした。

どのようにすれば良いでしょうか?

引用返信 編集キー/
■93195 / inTopicNo.4)  Re[3]: プログラムを関連付けるには
□投稿者/ とっちゃん (650回)-(2019/11/27(Wed) 10:58:52)
No93191 (じる さん) に返信

>>サンプルのiconPathとiconIndexの値を変えることで、できませんか?
>
> という回答がありますが、
> これらの設定を変えてみましたが、
> やはりアイコンを登録することはできませんでした。
>
> どのようにすれば良いでしょうか?
>
ドボンさんのところのサンプルの例でいえば、
1. iconPath という文字列変数に、表示したいアイコンファイルのフルパスを設定。好きなアイコンのパスをセット
2. iconIndex に、0 を入れる(1がアイコンファイルのパスという前提)
という回答になります。

ドボンさんのサンプルプログラムは、アイコンパスを
Application.ExecutablePath
としています。
これだと、実行中のEXEファイルになり、そのアイコン(0)を指定となっています。

それ以外にしたい場合は、Application.ExecutablePath の代わりに
アイコンファイルのパスを指定すればOKです。

アイコンファイルを指定する場合は、インデックスは0を指定します。

引用返信 編集キー/
■93201 / inTopicNo.5)  Re[4]: プログラムを関連付けるには
□投稿者/ じる (4回)-(2019/11/27(Wed) 22:28:00)
ありがとうございます。

PCを再起動するとアイコンが反映されることを確認できました。

しかし、設定後に即時反映させたいのですが
どのようにすれば良いですか?

ファイルの右クリックメニューを開き
プログラムを開く を選択
常にこのアプリを使って.xxxファイルを開く にチェックを入れてOKボタンを押すと
同様に関連付けを行うことができるのですが、
こちらの方法だとアイコンは即時反映されます。

設定前後のレジストリを比較してみましたが
どこの設定が生かされているのかよく分かりませんでした。

どのようにしたら良いですか?


引用返信 編集キー/
■93205 / inTopicNo.6)  Re[5]: プログラムを関連付けるには
□投稿者/ Azulean (1105回)-(2019/11/27(Wed) 23:09:39)
SHCNE_ASSOCCHANGED を指定して SHChangeNotify を呼ぶ必要があると思います。
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotify

(レジストリに書き込むだけでは explorer は気づかないので、教えてあげる必要がある)
引用返信 編集キー/
■93236 / inTopicNo.7)  Re[6]: プログラムを関連付けるには
□投稿者/ じる (5回)-(2019/11/28(Thu) 22:25:32)
これでした!!!!!
どうもありがとうございました!!!!!
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ