DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ブラウザのファイルの保存

環境/言語:[VB.NET]
分類:[.NET]

インターネットエクスプローラからファイルをダウンロードする際、
”ファイルのダウンロード”や”名前を付けて保存”のウインドウが出現しますが、
これをあるアプリ(VB.NET)からコントロールできないでしょうか?
保存ボタンを押したり、ファイル名を指定して保存したいのです。
> インターネットエクスプローラからファイルをダウンロードする際、
> ”ファイルのダウンロード”や”名前を付けて保存”のウインドウが出現しますが、
> これをあるアプリ(VB.NET)からコントロールできないでしょうか?
> 保存ボタンを押したり、ファイル名を指定して保存したいのです。

色々な方法が考えられますが、次のような方法もあります。

InternetExplorerオブジェクトを用いてIEを操作します。
FileDownloadイベントを用いることでダイアログが出現する
タイミングはわかるので、あとはウィンドウハンドルを取得して
SendMessageでもしてやればいいでしょう。

ただし、FileDownloadイベントはBugがありうまく動作しません。
http://support.microsoft.com/default.aspx?scid=kb;en-us;325204
従って、次のようなインターフェースを定義して使用する必要があります。

[InterfaceType(ComInterfaceType.InterfaceIsIDispatch), Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D")]
public interface myDWebBrowserEvents2
{
   [DispId(270)]
   void FileDownload([In, Out] ref bool IsActiveDucument, [In, Out] ref bool Cancel);
}

DOBON.NET | プログラミング道 | プログラミング掲示板