IENoticeBar関数

本ページには広告が含まれています。

Web上でファイルをダウンロードしたときに出る通知バーの制御を行います。

構文
  1. UString = IENoticeBar( )
引数
戻り値
ダウンロードしたファイル名

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   
// 【戻り値】
//   ダウンロードしたファイル名 
//////////////////////////////////////////////////
FUNCTION IENoticeBar()
	REPEAT
		ID = GETID("Internet Explorer", "IEFrame")
		DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 2)
		IF DirectUIHWND <> 0 THEN GETCTLHND(ID, "DirectUIHWND", 1)
	UNTIL DirectUIHWND <> 0
	REPEAT
		popupHandle = HNDTOID(DirectUIHWND)
	UNTIL popupHandle <> 0
	REPEAT
		SLEEP(0.50)
		DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 2)
		IF DirectUIHWND <= 0 THEN DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 1)
		popupHandle = HNDTOID(DirectUIHWND)
		NotificationBar = CLKITEM(popupHandle, "保存", CLK_ACC)
	UNTIL NotificationBar <> 0
	REPEAT
		SLEEP(0.50)
	UNTIL POS("のダウンロードが完了しました。", GETSTR(popupHandle, 1, STR_ACC_STATIC))
	str = GETSTR(popupHandle, 1, STR_ACC_STATIC)
	CLKITEM(popupHandle, "閉じる", CLK_ACC)
	RESULT = COPY(str, 1, POS(" のダウンロードが完了しました。", str) - 1)
FEND

解説

  1. 2-6行目
    UWSC
    	REPEAT
    		ID = GETID("Internet Explorer", "IEFrame")
    		DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 2)
    		IF DirectUIHWND <> 0 THEN GETCTLHND(ID, "DirectUIHWND", 1)
    	UNTIL DirectUIHWND <> 0
  2. 7-9行目
    UWSC
    	REPEAT
    		popupHandle = HNDTOID(DirectUIHWND)
    	UNTIL popupHandle <> 0
  3. 10-16行目
    UWSC
    	REPEAT
    		SLEEP(0.50)
    		DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 2)
    		IF DirectUIHWND <= 0 THEN DirectUIHWND = GETCTLHND(ID, "DirectUIHWND", 1)
    		popupHandle = HNDTOID(DirectUIHWND)
    		NotificationBar = CLKITEM(popupHandle, "保存", CLK_ACC)
    	UNTIL NotificationBar <> 0
  4. 17-19行目
    UWSC
    	REPEAT
    		SLEEP(0.50)
    	UNTIL POS("のダウンロードが完了しました。", GETSTR(popupHandle, 1, STR_ACC_STATIC))
  5. 20-22行目
    UWSC
    	str = GETSTR(popupHandle, 1, STR_ACC_STATIC)
    	CLKITEM(popupHandle, "閉じる", CLK_ACC)
    	RESULT = COPY(str, 1, POS(" のダウンロードが完了しました。", str) - 1)

関連記事

IEGETFRAME関数 (スクリプト関数)
IESETDATA関数 (スクリプト関数)
IESETDATA関数は、Web上に値を設定する関数です。第一引数にInternetExplorerオブジェクト、第二引数に設定する値、第三引数に値を設定するエレメントのNameもしくはタグ名を記述します。
BusyWait関数 (自作関数)
IEオブジェクトの読み込みが完了するのを待ちます。
IE.ExecWB メソッド
コマンドを実行します。
IE.GoForward メソッド
履歴リストの1つ後の項目に移動します。
IE.Refresh2 メソッド
指定されたリフレッシュレベルで現在表示されているファイルを再読み込みします。
IE.Stop メソッド
読込中のWebページやダウンロードのキャンセル、BGMやアニメーションの動的要素を停止します。
getIEObj関数 (自作関数)
引数に指定したタイトルまたはURLを含むIEオブジェクトを返します。戻り値はInternetExplorerオブジェクトです。
IE.Navigate メソッド
URLまたは絶対パスで指定されたファイルを開きます。
IE.Document プロパティ
ドキュメントオブジェクトを取得