【UWSC】IE9以上でファイルダウンロード時に出る通知バーのボタンを押す方法

この記事について

環境Windows、UWSC、IE9以上
目的ファイルダウンロード時に出る通知バーの「保存」ボタンをUWSCで押す
結果GETCTLHNDでDirectUIHWNDのハンドルを取得し、HNDtoIDで変換してCLKITEM(CLK_ACC)で押す

つまずきポイント要約

  • ダウンロード完了待ちをするなら、インターネットオプションの「ダウンロードの完了時に通知する」にチェックを入れておく

IE9以上で出現する通知バーのボタンをUWSCで押す方法

下の画像の保存ボタンを押したい 通知バー

//サンプルコード

// IEのIDを取得
id = GETID("Internet Explorer", "IEFrame")

//通知バーのハンドル(識別番号)を取得する。
handle = 0
repeat
  sleep(0.5)
  handle = GETCTLHND(id,"DirectUIHWND",2)
  print handle //取得できなければ、0(ゼロ)が返る
until 0 < handle

//ハンドルをIDに変換
id2 = HNDtoID(handle)

//保存ボタンを押す
CLKITEM(id2, "保存", CLK_ACC)

//「ダウンロードが完了」と出るまで待ち
//インターネットオプション → 詳細設定の「ダウンロードの完了時に通知する」にチェックを入れておくこと
Repeat
Sleep(1)
Until Pos("ダウンロードが完了", GETSTR(id2, 1, STR_ACC_STATIC))>0

//通知バーを閉じる
CLKITEM(id2, "閉じる", CLK_ACC)

関連記事

タイトルとURLをコピーしました