この記事について
| 環境 | 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)
