|
API処理できないアプリ(WPF,ストアアプリ,ブラウザ)に対しては UI Automationで処理するようにした CREATEOLEOBJ, GETACTIVEOLEOBJ関数にて Edgeブラウザを指定できるようにした('MSEdge.Application') CLKITEM関数にて リンクをクリックする CLK_LINKを付けた GETITEM関数にて リンク表示を取得する ITM_LINKを付けた CLKITEM関数のボタン処理にて 一部のスプリットボタンに対処した (\aaa\bbbにて表記) BTN関数にタッチ動作をする TOUCHを付けた スケジュール、ランチメニュにて回数指定を削除したのを復活させた 高レベル記録にて WPFアプリ等の一部記録できなかったウィンドウに対応した EXEC関数にて 同期フラグが Trueの時に 位置サイズが変更されなかったのを修正
|
No.1788 2015/10/19(Mon) 02:48:56
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>API処理できないアプリ(WPF,ストアアプリ,ブラウザ)に対しては UI Automationで処理するようにした
WPFアプリ,ブラウザ等に対しは、いままでは全て ACC指定の必要がありましたが 通常アプリ(API)と同じように ボタンに対しては ClkItem(id, "button", CLK_BTN) のように指定できます。 使用例は 以下を参照してください。 http://uwsc.info/sample.html#n36 // Firefox にてGoogleを表示、検索 & ニュース表示
|
No.1789 2015/10/19(Mon) 02:49:17
|
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>CREATEOLEOBJ, GETACTIVEOLEOBJ関数にて Edgeブラウザを指定できるようにした('MSEdge.Application')
"MSEdge.Application" を指定します。 戻り値により DOM操作ができます。 IE操作関連の関数(IEGETDATA, IESETDATA, IEGETSRC, IESETSRC, IELINK)も使えます。 但し、当然ながら IE依存の関数、操作はできません。(OLEEVENT関数, IE.Busy, IE.State, IE.Quit等はダメ) 画面の遷移時には再取得する必要があります。GETACTIVEOLEOBJ("MSEdge.Application")を使用 使用例は 以下を参照してください。 http://uwsc.info/sample.html#n38 // MS Edge にてGoogleを表示、検索 & ニュース表示
|
No.1790 2015/10/19(Mon) 02:49:59
|
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>CLKITEM関数のボタン処理にて 一部のスプリットボタンに対処した (\aaa\bbbにて表記)
IEのダウンロード時に出る、通知バーの保存ボタンから '名前を付けて保存'を選択 ClkItem(id, "ダウンロードボタン", CLK_BTN) // 何らかのダウンロードのボタン sleep(1) // 多少の間が必要 ClkItem(id, "\保存\名前を付けて保存", CLK_BTN) // '保存'スプリットボタンの '名前を付けて保存'をクリック
|
No.1791 2015/10/19(Mon) 02:52:02
|
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>BTN関数にタッチ動作をする TOUCHを付けた
// タップ BTN(TOUCH, CLICK, 400, 400) // 長押し BTN(TOUCH, DOWN, 400, 400) BTN(TOUCH, UP, 400, 400, 2000) // 2秒 // スワイプ BTN(TOUCH, DOWN, G_SCREEN_W, 400) // チャームを出す BTN(TOUCH, UP, G_SCREEN_W-100, 400) // ズーム BTN(TOUCH, DOWN, 400, 400) BTN(TOUCH, DOWN, 400, 450) BTN(TOUCH, UP, 400, 600) BTN(TOUCH, UP, 400, 250)
|
No.1792 2015/10/19(Mon) 02:53:14
|
|
☆ Re: UWSC Ver 5.2.0 / yos |
|
|
メニューのチェックOn/Off項目に対して、現在と同じ状態でclkitemすると動作未遂?になります
//例えば、メモ帳の「書式−右端で折り返す」にチェックが付いた状態で wid = getid("メモ帳") clkitem(wid, "書式\右端で折り返す", CLK_MENU, TRUE) //→サブメニューが出たままでスクリプト終了 (「CLK_MENU or CLK_LEFTCLK」等とすれば、とりあえずサブメニューは消えますが…)
※チェックOff→On、On→Offの場合は正常動作。 ※UWSC Ver5.12以前では、On→On、Off→Offでも問題なし
(UWSC5.2.0 Free版/ WinXP SP3)
|
No.1795 2015/10/22(Thu) 18:13:20
|
|
☆ Re: UWSC Ver 5.2.0 / しき |
|
|
getitem() で他のウインドウが非アクティブになります 以下のサンプルで、getitem()の実行タイミング(printウインドウが出る)で アクティブであったメモ帳以外のウインドウが非アクティブになります Win7 64bit UWSC520
id = getid("", "notepad", 0.01) if (id < 0) then id = exec("notepad.exe")
for i=1 to 20 getitem(id, itm_lstvew) print i sleep(3) next
|
No.1796 2015/10/22(Thu) 21:15:19
|
|
☆ Re: UWSC Ver 5.2.0 / しき |
|
|
getitem(id, itm_lstvew) の実行速度が遅くなってます。20倍以上? //結果 //ver5.12 0 0 0 0 0 0 0 0 0 0 //ver5.2 60 30 20 30 25 20 25 25 60 30
id = getid("", "notepad", 0.01) if (id < 0) then id = exec("notepad.exe")
s = "ver"+ get_uwsc_ver
for i=1 to 10 t = gettime()*1000 + g_time_zz getitem(id, itm_lstvew) s = s +" "+ ((gettime()*1000 + g_time_zz) - t) print s sleep(1) next
sendstr(0, s)
|
No.1797 2015/10/22(Thu) 21:56:14
|
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>メニューのチェックOn/Off項目に対して 確認しました。 修正します。
>getitem(id, itm_lstvew) の実行速度が遅くなってます APIで所得できなかった場合は UI Automationでも探しに行くようにしたから
|
No.1798 2015/10/23(Fri) 00:25:09
|
|
☆ Re: UWSC Ver 5.2.0 / しき |
|
|
>getitem() で他のウインドウが非アクティブになります リストビューの行数を3秒毎に監視するスクリプトがあり、行数が0の場合に気付きました
メモ帳にはリストビューがないので先の例は適当ではなかったかもしれません //レジストリエディタ regedit.exeの例 id = getid("", "RegEdit_RegEdit", 0.01) for i=1 to 20 n = getitem(id, itm_lstvew) print i +" "+ n sleep(3) next
ツリーのルート "コンピューター" では、右ペインのリストビューは 0行ですので、メモ帳の場合と同じ挙動をします。 "コンピューター\HKEY_CLASSES_ROOT" など、1行以上の所では問題ありません。
>APIで所得できなかった場合は UI Automationでも探しに行くようにしたから UI Automation使用の有無で取得できる値が違うなら、 ACCのように使用するか否かを指定できるようにならないでしょうか
|
No.1799 2015/10/23(Fri) 17:26:04
|
|
☆ Re: UWSC Ver 5.2.0 / しき |
|
|
ver5.2でgetslider() の戻値が変わりました 戻値が err_value (-999999) ならスクロールバーはないの判定だったのですが、、、
id = getid("", "notepad", 0.01) if (id < 0) then id = exec("notepad.exe")
s = "ver"+ get_uwsc_ver for i=1 to 4 s = s +", "+ i +"="+ getslider(id, i) next
msgbox(s) sendstr(0, s) //結果 //ver5.12, 1=0, 2=0, 3=-999999, 4=-999999 //ver5.2, 1=0, 2=0, 3=1049088, 4=1049088
|
No.1809 2015/10/28(Wed) 18:18:01
|
|
☆ Re: UWSC Ver 5.2.0 / umiumi |
|
|
>ver5.2でgetslider() の戻値が変わりました 確認しました。 修正します。
|
No.1812 2015/10/29(Thu) 00:17:35
|
|