|
現状、スレッドと通常の接続でIE接続してからid1=getid("Internet Explorer")でIDを取得しています。 GET_ACTIVE_WINやGET_FROMPOINT_WINも考えてみましたが、2つIEに接続するのでうまくIDを取得できないです。何か良い方法はないでしょうか?
THREAD ExecuteC()
FOR i = 1 TO 8 STEP 2 //1357
path="http://keaaaaaaaaaaaaaaaa" TRY IE = CREATEOLEOBJ("InternetExplorer.Application") EXCEPT EXEC("C:\Program Files\Internet Explorer\iexplore.exe") IE = GETACTIVEOLEOBJ("InternetExplorer.Application") ENDTRY IE.visible = true RESULT = IE IE.navigate(url)
SLEEP(0.5) ClkItem(GetID("Windows", "#32770", 1), "OK") ClkItem(GetID("Windows", "#32770", 1), "このページから移動") ClkItem(GetID("Windows", "#32770", 1), "プログラムを終了します") ClkItem(GetID("Windows", "#32770", 1), "プログラムを再起動します") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "OK") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "このページから移動") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "プログラムを終了します") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "プログラムを再起動します") CONST TIME_OUT = 60 tm = Gettime() REPEAT SLEEP(1) ifb Gettime() - tm > TIME_OUT break endif UNTIL (! IE.BUSY) AND (IE.READYSTATE=4) SLEEP(0.5) // id=getid("転職・求人情報- DODA - Internet Explorer","IEFrame") id=getid("Internet Explorer")//GET_ACTIVE_WIN ctrlwin(id, TOPNOACTV) ACW(id,960,359,344,365,0) SLEEP(0.5) id1=getid("Internet Explorer")//GET_ACTIVE_WIN ACW(id1,0,0,w,G_SCREEN_H)
文字列全体=IE.document.body.innerhtml
IE.quit
next
procedure ExecuteC()
path="http://keaaaaaaaaaaaaaaaa" FOR i = 2 TO 8 STEP 2 //2468 TRY IE1 = CREATEOLEOBJ("InternetExplorer.Application") EXCEPT EXEC("C:\Program Files\Internet Explorer\iexplore.exe") IE1 = GETACTIVEOLEOBJ("InternetExplorer.Application") ENDTRY IE1.visible = true
IE1.navigate(path)
SLEEP(0.5) ClkItem(GetID("Windows", "#32770", 1), "OK") ClkItem(GetID("Windows", "#32770", 1), "このページから移動") ClkItem(GetID("Windows", "#32770", 1), "プログラムを終了します") ClkItem(GetID("Windows", "#32770", 1), "プログラムを再起動します") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "OK") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "このページから移動") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "プログラムを終了します") ClkItem(GetID("ページからのメッセージ", "#32770", 1), "プログラムを再起動します") CONST TIME_OUT = 60 tm = Gettime() REPEAT SLEEP(1) ifb Gettime() - tm > TIME_OUT break endif UNTIL (! IE1.BUSY) AND (IE1.READYSTATE=4) SLEEP(0.5) // id=getid("転職・求人情報- DODA - Internet Explorer","IEFrame") id=getid("Internet Explorer")//GET_ACTIVE_WIN ACW(id,w,0,w,G_SCREEN_H) // ctrlwin(id, TOPNOACTV) // ACW(id,960,359,344,365,0) SLEEP(0.5) IE1.quit next fend
|
No.3790 2017/04/24(Mon) 13:22:34
|
☆ Re: 2つのIEcomに接続した際に、それぞれIDを取得する方法 / stuncloud |
|
|
hndtoidを使います
id1 = hndtoid(ie1.hwnd) id2 = hndtoid(ie2.hwnd)
|
No.3793 2017/04/24(Mon) 18:38:09
|
|
☆ Re: 2つのIEcomに接続した際に、それぞれIDを取得する方法 / ジンギスカン |
|
|
stuncloud様、回答ありがとうございます。 hndtoid利用で無事、ID操作できました。
|
No.3823 2017/05/01(Mon) 12:07:08
|
|