 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
richshih
註冊時間: 2007-10-11 文章: 153
第 1 樓
|
發表於: 星期二 三月 23, 2010 12:52 pm 文章主題: 請問如何擷取網頁的messagbox |
|
|
使用物件 ox = CREATEOBJECT("InternetExplorer.Application")
訪問某個網頁後登錄後, 網頁會蹦出訊息視窗內含有一個號碼,很像VFP的messagebox()視窗, 請問如何擷取此物件和他的內含的文字訊息 |
|
回頂端 |
|
 |
richshih
註冊時間: 2007-10-11 文章: 153
第 2 樓
|
發表於: 星期一 三月 29, 2010 5:07 pm 文章主題: |
|
|
InternetExplorer.Application 物件高手都沒回應, 可能問的太籠統了
縮小範圍來問問, 請問 如果網頁蹦出一個訊息事窗 ,會觸發哪個事件? |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 3 樓
|
發表於: 星期二 三月 30, 2010 9:58 am 文章主題: |
|
|
應該是攔不到~
不妨抓取網頁內容,然後找 alert( "" );
"" 內的文字就是訊息內容。
如果有很多個 alert()
你就要稍微判斷一下了。 |
|
回頂端 |
|
 |
richshih
註冊時間: 2007-10-11 文章: 153
第 4 樓
|
發表於: 星期二 三月 30, 2010 1:54 pm 文章主題: |
|
|
elleryq 寫到: | 應該是攔不到~
不妨抓取網頁內容,然後找 alert( "" );
"" 內的文字就是訊息內容。
如果有很多個 alert()
你就要稍微判斷一下了。 |
謝了
請問這和document.innertext or .innerhtml 有關嗎 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 5 樓
|
發表於: 星期三 三月 31, 2010 1:12 pm 文章主題: Re: 請問如何擷取網頁的messagbox |
|
|
richshih 寫到: | 使用物件 ox = CREATEOBJECT("InternetExplorer.Application")
訪問某個網頁後登錄後, 網頁會蹦出訊息視窗內含有一個號碼,很像VFP的messagebox()視窗, 請問如何擷取此物件和他的內含的文字訊息 |
還不死心???
 |
|
回頂端 |
|
 |
215001
註冊時間: 2003-06-11 文章: 393
第 6 樓
|
發表於: 星期三 三月 31, 2010 4:02 pm 文章主題: |
|
|
以下範例是:如何關閉 Outlook Express 每執行100次就會詢問是否要壓縮郵件
可以參考看看, IE 也可以用
LOCAL hwnd1,hwnd2,xstr
DECLARE INTEGER FindWindow IN WIN32API STRING cNull,STRING cWinName
DECLARE LONG FindWindowEx IN User32 LONG hWndParent, LONG hWndChild_Or_0123, STRING cClassName, STRING cCaptionText
DECLARE Integer SendMessage IN "user32" Integer, Integer, Integer, Integer
DECLARE LONG PostMessage IN User32 LONG hWnd, LONG uMsg, LONG wParam, LONG lParam
DECLARE INTEGER GetWindowText in Win32API integer, string @, integer
#DEFINE WM_CLOSE 0x0010
hWnd1 = findWindow(0 , "Outlook Express" ) && **** 此處輸入該視窗的標題 ***** , 有可能找到的是Outlook Express 主程式的 hWnd (或警告視窗 的 hwnd)
* 再確認該視窗標題是否有 "壓縮郵件" 的文字
hwnd2=0
DO WHILE hwnd1<>0
hwnd2 = FindWindowEx(hwnd1, hwnd2, 0, 0) && 找該視窗內hwnd2之下一個物件的hwnd (0從頭找)
if hwnd2 = 0
exit
endif
xstr=space(250)
=GetWindowText(hwnd2, @xstr, len(xstr)) && 取出該物件的 Caption (****** 可能就是你要的 *********)
xstr=UPPER(left(xstr, at(chr(0), xstr) - 1)) && 避開 chr(0)
IF "壓縮郵件"$xstr && 確定是此視窗
=SendMessage(hwnd1, WM_CLOSE, 0, 0) && 關閉此視窗
EXIT
ENDIF
ENDDO |
|
回頂端 |
|
 |
richshih
註冊時間: 2007-10-11 文章: 153
第 7 樓
|
發表於: 星期四 四月 01, 2010 1:56 pm 文章主題: |
|
|
215001 寫到: | 以下範例是:如何關閉 Outlook Express 每執行100次就會詢問是否要壓縮郵件
可以參考看看, IE 也可以用
LOCAL hwnd1,hwnd2,xstr
DECLARE INTEGER FindWindow IN WIN32API STRING cNull,STRING cWinName
DECLARE LONG FindWindowEx IN User32 LONG hWndParent, LONG hWndChild_Or_0123, STRING cClassName, STRING cCaptionText
DECLARE Integer SendMessage IN "user32" Integer, Integer, Integer, Integer
DECLARE LONG PostMessage IN User32 LONG hWnd, LONG uMsg, LONG wParam, LONG lParam
DECLARE INTEGER GetWindowText in Win32API integer, string @, integer
#DEFINE WM_CLOSE 0x0010
hWnd1 = findWindow(0 , "Outlook Express" ) && **** 此處輸入該視窗的標題 ***** , 有可能找到的是Outlook Express 主程式的 hWnd (或警告視窗 的 hwnd)
* 再確認該視窗標題是否有 "壓縮郵件" 的文字
hwnd2=0
DO WHILE hwnd1<>0
hwnd2 = FindWindowEx(hwnd1, hwnd2, 0, 0) && 找該視窗內hwnd2之下一個物件的hwnd (0從頭找)
if hwnd2 = 0
exit
endif
xstr=space(250)
=GetWindowText(hwnd2, @xstr, len(xstr)) && 取出該物件的 Caption (****** 可能就是你要的 *********)
xstr=UPPER(left(xstr, at(chr(0), xstr) - 1)) && 避開 chr(0)
IF "壓縮郵件"$xstr && 確定是此視窗
=SendMessage(hwnd1, WM_CLOSE, 0, 0) && 關閉此視窗
EXIT
ENDIF
ENDDO |
215001 先進的意思 先抓取全部視窗 再由視窗的CAPTION來判斷? |
|
回頂端 |
|
 |
215001
註冊時間: 2003-06-11 文章: 393
第 8 樓
|
發表於: 星期四 四月 01, 2010 3:58 pm 文章主題: |
|
|
1.先用FindWindow(0,"IE標題") 找到你要的視窗的hwnd
2.再用FindWindowEx()找到該視窗下的所有物件的hwnd
3.再用GetWindowText()去取出 caption |
|
回頂端 |
|
 |
mp484
註冊時間: 2006-08-08 文章: 84
第 9 樓
|
發表於: 星期五 四月 02, 2010 2:43 pm 文章主題: |
|
|
使用215001兄的方法的確可以關掉Outlook Express壓縮視窗的提示,但新的問題來了!
雖然關掉了,可是會一直重複問(只是暫時關掉視窗,但會一直陰魂不散的再問),
是否可以用其他的命令「真正」關掉,告訴系統「賣擱問阿」!謝謝! |
|
回頂端 |
|
 |
215001
註冊時間: 2003-06-11 文章: 393
第 10 樓
|
發表於: 星期五 四月 02, 2010 4:56 pm 文章主題: |
|
|
好像沒辦法真正關掉,網路上有其他方法,但需用 Regedit 去修改系統登錄檔
我是加入一個 Timer 處理 (一出現,就關掉) |
|
回頂端 |
|
 |
mp484
註冊時間: 2006-08-08 文章: 84
第 11 樓
|
發表於: 星期五 四月 02, 2010 7:32 pm 文章主題: |
|
|
我也是用Timer去關掉,可是只能夠「暫時」關掉,沒多久又會繁人的問你要不要壓縮郵件!粉煩! |
|
回頂端 |
|
 |
mp484
註冊時間: 2006-08-08 文章: 84
第 12 樓
|
發表於: 星期五 四月 02, 2010 7:33 pm 文章主題: |
|
|
我也是用Timer去關掉,可是只能夠「暫時」關掉,沒多久又會繁人的問你要不要壓縮郵件!粉煩! |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|