添付ファイルのダブルクリック時に起動すNo.12767
chikachika さん 24/08/27 23:26
 
Irfanviewというソフトを入れてから、秀丸メールの受信メールの添付ファイルのjpg
ファイルなどをダブルクリックした際、本来立ち上がるべき「フォト」が立ち上がら
なくなりました。
秀丸メールの添付ファイル欄を右クリックして「プログラムから開く」→「フォト」
とやれば正しく表示されます。

おそらくIrfanviewのインストール過程でレジストリのjpgなど関連のどこかがIrfanv
iewがらみに変更されていしまったためと思われます。

レジストリをテキストファイルに落として該当しそうなところを当たり始めたのです
が、とても見つけられそうにありません。

★そこで、秀丸メールの受信メールの添付ファイルのjpgファイルなどをダブルクリ
ックした際、秀丸メールがレジストリのどこを見て立ち上げるべきソフトを特定して
いるかをお教え願えないでしょうか?

そうすればIrfanviewの悪影響のうち、秀丸メールに関するところだけはレジストリ
が修正できるのですが。

[ ]
RE:12767 添付ファイルのダブルクリック時No.12768
Iranoan さん 24/08/28 01:58
 
chikachika さんこんにちは Iranoan です
> Irfanviewというソフトを入れてから、秀丸メールの受信メールの添付ファイルのj
>pgファイルなどをダブルクリックした際、本来立ち上がるべき「フォト」が立ち上
>がらなくなりました。
この状態なら一度添付ファイルをどこかに保存し、エクスプローラーでそのファイル
をダブル・クリックしても、「フォト」が起動しないのではないでしょうか?
だとすると JPEG ファイルのデフォルト・アプリの情報を書き換わったことが原因で、
秀丸メールの問題ではありません

> 秀丸メールの添付ファイル欄を右クリックして「プログラムから開く」→「フォ
>ト」とやれば正しく表示されます。
この方法がわかっているなら、「常にこのアプリを使って .??? ファイルを開く」と
いったオプションを ON にすれば良かったかと

[ ]
RE:12768 添付ファイルのダブルクリック時No.12769
chikachika さん 24/08/28 11:01
 
コメントありがとうございます。

>この状態なら一度添付ファイルをどこかに保存し、エクスプローラーでそのファイ
>ルをダブル・クリックしても、「フォト」が起動しないのではないでしょうか?

フォトが起動します。

>だとすると JPEG ファイルのデフォルト・アプリの情報を書き換わったことが原因
>で、秀丸メールの問題ではありません

したがって秀丸メールと、Irfanviewインストールで書き換わったレジストリの問題
と思います。


[ ]
RE:12769 添付ファイルのダブルクリック時No.12770
秀まるお2 さん 24/08/28 11:41
 
秀丸メールで添付ファイルをダブルクリックした場合、Windowsの「ShellExecute」
っていうAPIでファイルを開こうとします。一応僕の所でテストした限りは「フォ
ト」に関連づけすればフォントが起動するし、ペイントに関連づけすればペイントが
起動するようではありました。(Windows10で)

関連づけの情報ですが、Windows10からレジストリではなくて、アプリケーションソ
フトなどから書き換えできない、知らない場所に保存されるようになってしまってま
す。変更するのはWindowsの設定の「アプリ」の中からか、またはファイルのプロパ
ティの「変更...」ボタンを使うしか無くて、レジストリエディタでどこか書き換え
るって作戦は不可(のはず)です。

ファイルのプロパティから変更するとしたら、

1.秀丸メールでもエクスプローラでもなんでもいいので、対象ファイルのアイコン
が出た状態にする。
2.マウス右ボタンメニューから「プロパティ」を実行する。
3.「プログラム: フォント」のようになってる右側の「変更...」ボタンを押して、
  プログラムを指定する。

なんですが、これでダメでしたら、一回何か別のアプリ(ペイントとか)に変更して
から「フォト」を指定しなおす作戦でどうでしょうか。

[ ]
RE:12770 添付ファイルのダブルクリック時No.12771
秀まるお2 さん 24/08/28 12:10
 
>「フォト」に関連づけすればフォントが起動するし

すみません。「フォト」が起動する、の間違いです。

他のアプリではどうやって起動してるのか分かりませんが、ShellExecuteでの起動に
ついては秀丸エディタのマクロでテストできます。

    openbyshell @"ファイル名...";

 みたいなマクロでテストする手があります。

[ ]
RE:12771 添付ファイルのダブルクリック時No.12772
chikachika さん 24/08/28 14:25
 
>他のアプリではどうやって起動してるのか分かりませんが、ShellExecuteでの起動
>については秀丸エディタのマクロでテストできます。
>
>    openbyshell @"ファイル名...";
>
> みたいなマクロでテストする手があります。

上記マクロを秀丸、および秀丸メール上で動作させてみましたが、両方の場合とも、
正常に フォト が立ち上がって表示されました。

なんでこれと、秀丸メールの添付ファイル欄のファイル名ダブルクリックとが、違っ
た結果になるんだろう。不思議だ。

[ ]
RE:12772 添付ファイルのダブルクリック時No.12773
秀まるお2 さん 24/08/28 16:19
 
なぜに秀丸メールの添付ファイルダブルクリックで別のアプリが起動するのか、謎で
す。

秀丸エディタのopenbyshellを使った場合と秀丸メールの添付ファイル開くとで、She
llExecuteのAPI呼び出し時のパラメータが少し違う点があるのと、あと、ユニコード
版を呼ぶかマルチバイト版を呼ぶかどうかの違いがあるようでした。今日にでもVers
ion 7.34β1をアップロードするので、それでopenbyshellと同じになるようにしてみ
ます。

アップロードできたらまた書き込みさせていただきます。

----------------------------------------------------
マクロの例ですが、添付ファイルの1つ目を開くとしたら、以下のようなマクロにな
ります。それも試してみてほしいです。もしかして拡張子が微妙に違ってるとか。
(jpgとjpegの違いとか)

    loaddll "tkinfo.dll";
    $path = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\" + dl
lfuncstr("CurrentHeader", "X-Attach:");
    message "添付ファイルを開く - " + $path;
    openbyshell $path;
    endmacro;


[ ]
RE:12770 添付ファイルのダブルクリック時No.12774
chikachika さん 24/08/28 17:09
 
>ファイルのプロパティから変更するとしたら、
>
>1.秀丸メールでもエクスプローラでもなんでもいいので、対象ファイルのアイコ
>ンが出た状態にする。
>2.マウス右ボタンメニューから「プロパティ」を実行する。
>3.「プログラム: フォント」のようになってる右側の「変更...」ボタンを押して、
>  プログラムを指定する。
>
>なんですが、これでダメでしたら、一回何か別のアプリ(ペイントとか)に変更し
>てから「フォト」を指定しなおす作戦でどうでしょうか。

やってみました。秀丸メールの添付ファイル欄のダブルクリックで:
プロパティ経由でペイントに変更すると、ペイントが正しく起動しました。
プロパティ経由でフォトに戻すと、前と同じで、何も立ち上がってこなくなりました。

[ ]
RE:12773 添付ファイルのダブルクリック時No.12775
chikachika さん 24/08/28 17:34
 
提案いただいたマクロで正しく フォト が立ち上がって表示されました。

拡張子は.JPG .jpeg とも提案いただいたマクロでは正しくフォトで表示されます。
添付ファイル欄ダブルクリックでは両方の拡張子ともだめです。

★拡張子でどう異なるか、見逃していたのですが:
.JPG では添付ファイル欄のアイコンはIrfanviewのものになっています。explorerに
ドラッグしてコピーすると正しいアイコンになります。
.jpeg では添付ファイル欄のアイコンは正しいアイコンです。



>なぜに秀丸メールの添付ファイルダブルクリックで別のアプリが起動するのか、謎
>です。
> ......
>

[ ]
RE:12775 添付ファイルのダブルクリック時No.12776
秀まるお2 さん 24/08/28 18:18
 
今アップロードしたので、それでテストしてみてほしいです。

32bit版:
https://hide.maruo.co.jp/software/bin3/hmmail734b1_signed.exe

64bit版:
https://hide.maruo.co.jp/software/bin3/hmmail734b1_x64_signed.exe

これでもダメでしたら、「全般的な設定 - 上級者向け - デバッグ」の中にある「デ
バッグレベル」を、1, 2, 3 と試してみてほしいです。

デバッグレベル = 0 ... ShellExecuteで普通に開く。
デバッグレベル = 1 ... ShellExecuteで第二パラメータに"open"指定
デバッグレベル = 2 ... IContextMenu::InvokeCommandで開く方式。
デバッグレベル = 1 ... IContextMenu::InvokeCommandで"open"指定で開く方式。

としてみました。

どうでしょうか。

あと、「フォト」アプリの情報が壊れてるのだとしたら、Windowsのスタートメニ
ューの中からフォトを探して、それの上でマウス右ボタンを押して出てくるメニュー
の「アンインストール」で一回アンインストールし、Microsoft Storeアプリから「M
icrosoft フォト」アプリを探してインストールしなおしてみてどうでしょうか。そ
れから関連づけしなおせば直るかもしれません。


[ ]
RE:12775 添付ファイルのダブルクリック時No.12778
chikachika さん 24/08/28 20:46
 
>提案いただいたマクロで正しく フォト が立ち上がって表示されました。
>
>拡張子は.JPG .jpeg とも提案いただいたマクロでは正しくフォトで表示されます。
>添付ファイル欄ダブルクリックでは両方の拡張子ともだめです。
>

他のファイル形式の画像ファイルも試してみました。
ペイントで適当な画像を作り、それを「名前を付けて保存」で各種形式で保存し、
メールに添付して自分あてに送受信して振る舞いをチェックしました。

秀丸メール 添付ファイル欄

 マクロで表示 アイコン ダブルクリック
"heic" 〇  「白紙」 無反応
"jfif" 〇  〇  無反応
"jpe"  〇  〇  無反応
"jpeg" 〇  〇  無反応
"jpg"  〇  Irfanview 無反応
"png"  〇  Irfanview 無反応
"bmp"  〇  「白紙」 無反応
"dib"  〇  「白紙」 無反応
"gif"  〇  〇  無反応
"tif" *  Irfanview *


〇 フォト
*  Windows フォト ビューア―

tifだけは添付ファイル欄ダブルクリックに反応してくれました。

explorerでのアイコンは全形式とも フォト のアイコンですが、秀丸メール添付ファ
イル欄のアイコンはいろいろ混ざっていました。

上記テストのマクロは以下のようなものです。

  loaddll "tkinfo.dll";
    $path = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\" + dl
lfuncstr("CurrentHeader", "X-Attach:");
    $path0=leftstr($path,strlen($path)-4);
    $path=$path0+"heic";message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"jfif";message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"jpe" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"jpeg";message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"jpg" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"png" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"bmp" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"dib" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"gif" ;message "添付fileを開く - " + $path;openbyshell $path;
    $path=$path0+"tif" ;message "添付fileを開く - " + $path;openbyshell $path;
    endmacro;




[ ]
RE:12776 添付ファイルのダブルクリック時No.12779
chikachika さん 24/08/28 21:21
 
早速の対応ありがとうございます。

>デバッグレベル = 0 ... ShellExecuteで普通に開く。
>デバッグレベル = 1 ... ShellExecuteで第二パラメータに"open"指定
>デバッグレベル = 2 ... IContextMenu::InvokeCommandで開く方式。
>デバッグレベル = 3 ... IContextMenu::InvokeCommandで"open"指定で開く方式。

デバッグレベル2と3で全画像形式で、添付ファイル欄ダブルクリックでフォト(tif
形式はデバッグレベル0〜3でWindows フォト ビューア―)が立ち上がって正しく
開かれました。

ありがとうございました。

ただ、添付ファイル欄アイコンが間違ったものになっているのはそのままです。

[ ]
RE:12776 添付ファイルのダブルクリック時No.12780
もみじ さん 24/08/28 22:33
 
横からすみません。

TIFでは無いですが、PDFで同じ事象が起きており、もしかしてと思い試してみたら、
デバッグレベル2と3で解消したのでお知らせします。

起きていた事象としては、PDF-XChange Editorを利用していて、拡張子の関連付けも
されている
のですが、なぜか秀丸メールの添付ダブルクリックでは、毎回、「アプリを選択して.
PDFファイルを
開く」になり、「常に使う」を選択しても同様でした。

それが、デバッグレベル2と3では、本来のダブルクリックでPDF-XChange Editorが
直接起動
するようになりました。


[ ]
RE:12780 添付ファイルのダブルクリック時No.12782
秀まるお2 さん 24/08/29 09:26
 
chikachikaさんの話とまとめてコメントさせていただきます。

■アイコンがおかしい件

アイコンが違った物になってしまう件ですが、秀丸メールはWindowsの「ExtractIcon
Ex」ってAPIを使ってアイコンを取得しつつ、拡張子ごとにアイコンをキャッシュし
て使い回す仕組みになってます。

デバッグオプションで動作が変わるので、もし良かったらどうすれば直るかテストし
てみてほしいです。

「全般的な設定・上級者向け・デバッグ・デバッグ」の「添付ファイル枠のアイコン
をキャッシュしない」

をとりあえずONにして秀丸メールを再起動してからどうか試してみてほしいのと、そ
れでもダメなら

「全般的な設定・上級者向け・デバッグ・デバッグ2」の「添付ファイルのアイコン
取得にSHGetFileInfoを使わない」

をONにして、また秀丸メールを再起動してどうか見てみてほしいです。

「SHGetFileInfoを使わない」がONの場合はレジストリにある「DefaultIcon」の値を
見てアイコンを表示します。間違ってここがONになってると、古いタイプのアイコン
が出る場合が多いです。

■デバッグレベル2〜3で解決する件

デバッグレベル2〜3の場合はIContextMenu::InvokeCommandで"open"指定で起動する
んですが、このやり方は一般的では無いと思います。また、秀丸マクロのopenbyshel
lではたしかにShellExecuteを使ってます。

とりあえずマクロの場合のShellExecute呼び出しと何が違うのか、改めて確認してみ
ます。

今回の対応はあくまでテストのためにデバッグレベルを使っただけなので、恒久的な
対応はまた別に考えないといけないです。

[ ]
RE:12782 添付ファイルのダブルクリック時No.12783
秀まるお2 さん 24/08/29 09:30
 
もう1つオプションがあるので念のため連絡させていただきます。

「全般的な設定・上級者向け・デバッグ・デバッグ2」の中に
「添付ファイルを開く時に落ちる対策」

のオプションがあって、これをONだと、ShellExecuteのAPI呼び出しを別プロセスで
実行します。一応これをONにして解決することは無いはずだと思うんですが、良かっ
たらこれをONにして変化があるかどうかもテストしてみてほしいです。デバッグレベ
ルは0で。

[ ]
RE:12783 添付ファイルのダブルクリック時No.12785
もみじ さん 24/08/29 09:57
 
おはようございます。

私の所では、アイコンが別のものに置き換わる事象は起きていないので以下の部分の
みやってみました

デバッグレベル0で、「添付ファイルを開く時に落ちる対策」にチェックをつけても
ダメでした。


>もう1つオプションがあるので念のため連絡させていただきます。
> ......
>のオプションがあって、これをONだと、ShellExecuteのAPI呼び出しを別プロセスで
>実行します。一応これをONにして解決することは無いはずだと思うんですが、良か
>ったらこれをONにして変化があるかどうかもテストしてみてほしいです。デバッグ
>レベルは0で。

[ ]
RE:12785 添付ファイルのダブルクリック時No.12786
秀まるお2 さん 24/08/29 10:19
 
テストありがとうございます。せっかくテストしていただいてるのでもう1つお願い
が・・・

    loaddll "tkinfo.dll";
    $path = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\" + dl
lfuncstr("CurrentHeader", "X-Attach:");
    message "添付ファイルを開く - " + $path;
    openbyshell $path;
    endmacro;

のマクロだとちゃんと開くのでしょうか。もしこれでうまく動くなら、とりあえず秀
丸エディタのopenbyshellの中にあるShellExecute呼び出しを秀丸メールから呼び出
して使う作戦に直してしまう作戦で解決しようかなと思ったりします。

Irfanviewのインストールもテストしてみます。

[ ]
RE:12786 添付ファイルのダブルクリック時No.12787
もみじ さん 24/08/29 10:27
 
マクロ登録してやってみましたが、ダメでした。

アプリを選択するウィンドウが出てきて、デバッグレベル0と同じ動作でした。


>テストありがとうございます。せっかくテストしていただいてるのでもう1つお願
>いが・・・
> ......
>Irfanviewのインストールもテストしてみます。

[ ]
RE:12787 添付ファイルのダブルクリック時No.12789
秀まるお2 さん 24/08/29 10:41
 
確認ありがとうございます。chikachikaさんとは別現象のようで、それが確認できて
助かりました。

今ちょっと別情報を見つけたのでchikachikaさん発言にコメントさせていただきます。

[ ]
RE:12779 添付ファイルのダブルクリック時No.12790
秀まるお2 さん 24/08/29 10:51
 
僕の所でIfranviewをインストールしてテストしてみたら、jpgファイルへの関連づけ
が壊れてしまいました。たぶんIfranviewに問題があるんだと思います。それで、そ
れを修復する方法を探したらあったので、それを紹介させていただきます。

https://codeknowledge.livedoor.blog/archives/13331451.html

にあるやり方でうまくいきました。

僕のマシンではjpgファイルのプロパティに

    プログラム:  xxxx   [変更(C)...]

のように出てくるはずの「変更(C)」ボタンが出なくなってしまいました。それが、
上記のやり方(「フォト」アプリをリセットするやり方)で直りました。

デバッグレベル0でうまく開かないのは再現しなかったんですが、たぶん上記の方法
でフォトのレジストリを修復してからjpgファイルの関連づけをやり直せば大丈夫じ
ゃないかと思います。

どうでしょうか。

[ ]
RE:12790 添付ファイルのダブルクリック時No.12791
秀まるお2 さん 24/08/29 11:12
 
もう1つの回復方法として、Ifranviewをアンインストールでもいけると思います。I
franviewをアンインストールすると、レジストリを元に修復してくれるみたいです。

アンインストールしてからもう一度Ifranviewをインストールして、そのインストー
ルの時に関連づけをどうするか聞いてくる時に、何も関連づけしないようにすればい
いです。Ifranview側に関連づけをさせるんじゃなくて、関連づけはあくまでWindows
の設定またはファイルのプロパティの方でやればいいです。

-------------------------------------------
この方法などで回復できるかどうかは別にして、どっちにしてもデバッグレベル=2相
当の動作をオプション追加対応させていただきます。「全般的な設定・上級者向け・
デバッグ・デバッグ3」に追加します。(次のβ版で)

[ ]