FC2ブログ
Vista 以降のIEでファイル操作をする場合
Vista 以降のIE には保護モードというのが追加されている。整合性レベルの低いプログラムが、むやみにファイル
を読み書きできないようにする仕組み。

これが原因で管理者でログオンしていても、標準の動作では保護モードのためにActiveXがファイルを操作できない
用になっている。
※IEの保護モードの切り替えはインターネットオプションで行うことが出来る(切ると警告が出てくるのですぐに判る)。

また、ActiveX でIEが保護モードで起動しているかの確認が次の関数で出来る。

IEIsProtectedModeProcess 関数

この関数を使用するためには次のヘッダーと、ライブラリが必要。 iepmapi.h iepmap.lib この二つのファイルは
Windows SDK v6.0 以降に入っている。Vista からの機能の為!

どうしてもファイルを保存したい場合には、下記の関数を使用することで操作することが出来る。

IEGetWriteableFolderPath 関数
IEShowSaveFileDialog 関数
IESaveFile 関数

IEGetWriteableFolderPath 関数でIEが書き込めるファイルパスを取得し、保存したいファイルを書き込む。次に
IEShowSaveFileDialog 関数でユーザーに保存したい場所を問い合わせ、IESaveFile 関数で保存したファイルを
移動する。

このような面倒な手順しかない。一度ユーザーに問い合わせる必要があるため、自動で処理させたい場合などは
保護モードを切るか、IEを管理者権限で起動するしかない。

       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \  面倒だお…
  |     (__人__)    |
  \     ` ⌒´     /
スポンサーサイト
ActiveXからのイベント処理 VBScript の場合
JavaScriptではなくVBScriptの場合

<script type="text/vbscript">
Sub オブジェクト名_イベント名( 引数 )
' ここに処理を書く
End Sub
</script>

JavaScript版の二つ目の方法と同じような書き方ができるかは未調査。なんとなくできそうな感じはする('A`)y~~~
ActiveXからのイベント処理 JavaScript の場合
ActiveXからのイベント通知を処理するには次の方法がある。

1:

<script type="text/javascript">
<!--
function オブジェクト名::イベント名( 引数 )
{
alert( "aaaaaaaaaaa" );
}
// -->

</script>

2:

<script type="text/javascript" for="オブジェクト名" event="イベント名( 引数 )">
// ここに処理を書く
</script>

汚いのであとで整えよう('A`)y~~~。これ以外にもあるかもねー

次はVBScriptの場合
TOP
プロフィール

hssamurai

Author:hssamurai
FC2ブログへようこそ!

最新記事
最新コメント

最新トラックバック

月別アーカイブ
カテゴリ