2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« 「名前を付けて画像を保存」で日本語ファイル名が「untitled.bmp」や「無題.bmp」に化ける。 | トップページ | 「名前を付けて画像を保存」するコンテキストメニュー拡張(その2) »

2009年6月 9日 (火)

「名前を付けて画像を保存」するコンテキストメニュー拡張

画像の右クリックで「名前を付けて画像を保存」が、オリジナルの名前と形式でなく、「無題.bmp」や「untitled.bmp」に化けてしまうことがあります。
これは<img src=URL>のURLでキャッシュを探して見つからないときにそうなります。
そのような場合、画像のプロパティからURLをコピーして、アドレスバーに張り付けて開き、「名前を付けて保存」すれば、オリジナルの名前と形式で保存できます。※ダメなときもあります。
それは面倒なので、コンテキストメニューを拡張します。

SaveAsImg1.htm

<script language=vbscript defer>
If UCase(external.menuArguments.event.srcElement.tagName)="IMG" Then
  Set ie=CreateObject("InternetExplorer.Application")
  ie.Navigate "about:blank"
  Do While ie.Busy Or ie.ReadyState<>4
  Loop
  ie.Navigate external.menuArguments.event.srcElement.src
  Do While ie.Busy Or ie.ReadyState<>4
  Loop
  Const OLECMDID_SAVEAS=4
  Const OLECMDEXECOPT_PROMPTUSER=1
  ie.ExecWB OLECMDID_SAVEAS,OLECMDEXECOPT_PROMPTUSER
  ie.Quit
End If
</script>

SaveAsImg1.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\名前を付けて画像を保存(&1)]
@="C:\\どこか\\SaveAsImg1.htm"
"Contexts"=dword:00000002

これは、画像をIEで開いて、「名前を付けて保存」します。

※ 保護モード有効のページではCreateObject()がエラー。

« 「名前を付けて画像を保存」で日本語ファイル名が「untitled.bmp」や「無題.bmp」に化ける。 | トップページ | 「名前を付けて画像を保存」するコンテキストメニュー拡張(その2) »