日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Delphi中点击网页弹出的Alert对话框的确定按钮

發(fā)布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi中点击网页弹出的Alert对话框的确定按钮 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ?實現(xiàn)的方法有很多,一般都是使用Windows API函數(shù)遍歷窗口,查找指定標題的窗口,然后從該窗口查找確定按鈕,向該按鈕發(fā)送鼠標消息進行模擬點擊。由于IE8由Alert彈出的網(wǎng)頁對話框的標題是“來自網(wǎng)頁的消息”,而IE6由Alert彈出的網(wǎng)頁對話框的標題是“Microsoft Internet Explorer”,所以本文沒有按查找窗口標題方法獲取窗口句柄。注意到不管IE哪個版本,IE窗口的類名都是“IEFrame”,而網(wǎng)頁對話框的父窗口是IE窗口,所以本文是根據(jù)父窗口的類名是不是IEFrame來判斷窗口是不是網(wǎng)頁對話框,以下代碼點擊網(wǎng)頁彈出的Alert對話框和Confirm對話框的“確定”按鈕,并用Label1控件顯示網(wǎng)頁對話框的消息內(nèi)容:

procedure?TForm1.Button1Click(Sender:?TObject);
var
??hIE,?hDlg,?hBtn,?hStatic:HWND;
??Text:?array[0..255]?of?char;
begin
??hDlg?:=?GetWindow(Handle,?GW_HWNDFIRST);
??While?hDlg?<>?0?do
??begin

????hIE?:=?GetParent(hDlg);
????if?GetClassName(hIE,?Text,?255)?>?0?then??//獲取父窗口類名
??????if?Text?=?'IEFrame'?then?//父窗口為IE窗口
???????begin
?????????hBtn?:=?FindWindowEx(hDlg,?0,?nil,?'確定');?//查看確定按鈕
?????????if?hBtn?<>?0?then
?????????begin

???????????hStatic?:=?FindWindowEx(hDlg,?0,?'Static',?nil);
???????????hStatic?:=?FindWindowEx(hDlg,?hStatic,?'Static',?nil);
???????????if?GetWindowText(hStatic,?Text,?255)?>?0?then
?????????????Label1.Caption?:=?Text;
???????????Sleep(100);
???????????SendMessage(hBtn,?$00F5,?0,?0);?//第一次點擊使確定按鈕獲取焦點
???????????Sleep(100);
???????????SendMessage(hBtn,?$00F5,?0,?0);?//第二次點擊擊中確定按鈕
?????????end;
???????end;
????hDlg:=GetWindow(hDlg,GW_HWNDNEXT);
??end;
end;

總結

以上是生活随笔為你收集整理的Delphi中点击网页弹出的Alert对话框的确定按钮的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。