亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

用Delphi編寫論壇灌水機

2019-11-18 18:09:58
字體:
來源:轉載
供稿:網友

論壇灌水機的技術點

破天驚 10.06.2004

 

本來以為網頁里的edit,memo等都和程序里的一樣,可以用句柄來控制,但后來才明白,它是不存在句柄的!
查了好久,前幾天看到一個關于QQ自動申請的例子.主要就是控制網頁各種操作的!總結了一下,做出一個論壇灌水機:
首先要在uses中引用mshtml單元.

代碼及分析如下:

var
hform:IHTMLFormelement;
hdoc:ihtmldocument2;
hall:ihtmlelementcollection;
Hinput:IHTMLinputelement;
iw:iwebbrowser2;
hlen,tmploop:integer;
vk:oleVariant;
dispatch:IDispatch;
begin
if Assigned(webbrowse1) then ///保證網頁里有內容;即已經打開一個網頁!
begin
hdoc:=webbrowse1.document as ihtmldocument2;
hall:=hdoc.get_all;
hlen:=hall.get_length;
////以上幾步的操作為:將瀏覽器控件里的內容賦給hdoc.取其所有標識,并算出總數;
////下面的操作為:按總數循環找到用戶名和密碼的edit;并賦值;
for tmploop:=0 to hlen-1 do
begin
vk:=tmploop;
dispatch:=hall.item(vk,0);
if succeeded(Dispatch.QueryInterface(IHTMLInputelement,hinput)) then
///如果此標識是一個edit控件.....
begin ////下面這里的uppercase是必需的!防止因大小寫的不同而判斷失誤!
///下面的"TEXT"是由網頁里的內容來確定的.也就是說你要判斷就必需根據具體網頁代碼來!
///密碼框和用戶名處是一樣的!
if uppercase(hinput.Type_)='TEXT' then hinput.value:='tresss'
else if uppercase(hinput.type_)='PASSWord' then hinput.value:='tresss';
end;
if succeeded(dispatch.QueryInterface(IHTMLFormElement,hform)) and (uppercase(hform.name)='THEFORM') then
///此處是form提交.如果從html發現只有一個form的話那第二個條件是非必需的!
///而且也不一定要判斷name屬性,也可以根據其它屬性來判斷.
Hform.submit;
end; ////for end;
end; //if end;
end;

到此,,一個自動登陸的例子就作好了..如果要實現灌水的話,,可以將hinput:ihtmlinputelement換成htext:ihtmltextareaelement,也就相當于memo控件.將用戶名的賦值換成是發言的賦值就好;當然這里還可以換成是其它的,如單選等...具體內容可以查看mshtml里的列表!

本來到這里已經夠了.但是后來發現--原來論壇里是有框架--frame的.好長一段時間被此困擾著,后來在csdn上問了一下,有人給出了解決方法,試了一下很不錯!

上面的代碼里可以加入:
var
......
......
iw:iwebbrowser2;
begin
.....
iw:=getframe(3); //此步即是取得webbrowse里的第二個框架;
///而后的操作都是一樣的,也就是上面的操作的作用是將一個框架里的內容來作為一個網頁來處理;
hdoc:=iw.document as ihtmldocument2;
hall:=hdoc.get_all;
......
......


///getframe() 函數如下需要在uses里加入activex單元:


Function TFrmain.GetFrame(FrameNo:Integer):IWebbrowser2;
var
OleContainer:IOleContainer;
enum:IEnumUnknown;
unk:IUnknown;
Fetched:PLongint;
begin
while webbrowse1.ReadyState<>READYSTATE_COMPLETE do
application.PRocessMessages;
if Assigned(webbrowse.document) then
begin
Fetched:=nil;
OleContainer:=webbrowse.Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS,enum);
Enum.Skip(FrameNo);
Enum.Next(OLECONTF_EMBEDDINGS,Unk,Fetched);
Result:=Unk as IWebbrowser2;
end
else
Result:=nil;
end;

還有要說明的一點就是網頁里框架的跳轉!依然是使用的navigate 但是需要兩個參數!
webbrowse.navigae('要轉到的網頁地址',flag1,flag2);
其中兩個參數的類型是:olevariant;
第一個參數不需要賦值,它控制的是網頁打開的其它選項(如:在新網頁中打開.等).
我們所要操作的是第二個參數.這里你要先打開網頁的源文件,查看他的frame的name屬性!記住所要控制的frame的name把它的值賦給flag2就可以了!這樣就是在一個frame中打開一個網頁!

這樣的話,加上一個timer再加上一些代碼就可以作成一個完整的灌水機了!


上一篇:用delphi批量導入某子目錄下所有JPG圖片文件到數據庫

下一篇:Delphi程序設計規范

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区三区成人在线视频精品| 91色琪琪电影亚洲精品久久| 久久久久久久影院| 国产精品海角社区在线观看| 91色精品视频在线| 久久成人精品一区二区三区| 国产精品久久久久久亚洲调教| 欧美寡妇偷汉性猛交| 国产剧情久久久久久| xvideos亚洲人网站| 日韩的一区二区| 国产欧美日韩精品在线观看| 中文字幕在线观看亚洲| 日日噜噜噜夜夜爽亚洲精品| 日韩欧美国产网站| 亚洲最大av网| 国产一区私人高清影院| 中文字幕精品—区二区| 在线视频欧美性高潮| 亚洲激情在线观看| 欧美日韩国产成人在线观看| 欧美精品免费看| 亚洲成人久久一区| 亚洲丝袜在线视频| 国产精品久久久久影院日本| 日韩欧美高清视频| 亚洲乱码一区av黑人高潮| 国产精品欧美日韩一区二区| 午夜精品福利视频| 日韩免费在线免费观看| 亚洲石原莉奈一区二区在线观看| 日韩一区在线视频| 亚洲成人性视频| 欧美在线日韩在线| 久久精品国亚洲| 亚洲国产精品久久精品怡红院| 91精品国产91| 久久亚洲电影天堂| 永久免费毛片在线播放不卡| 精品一区精品二区| 97精品国产97久久久久久春色| 欧美性生交xxxxxdddd| 成人免费看黄网站| 亚洲欧美一区二区三区情侣bbw| 欧美中文在线观看| 7m第一福利500精品视频| 国产不卡一区二区在线播放| 一区二区三区动漫| 久久国产精品久久久久久| 久久这里有精品视频| 欧美激情欧美狂野欧美精品| 亚洲图片在线综合| 中文字幕欧美亚洲| 亚洲激情国产精品| 日韩av高清不卡| 欧美美女18p| 亚洲va久久久噜噜噜久久天堂| 日韩亚洲欧美中文在线| 日本成人精品在线| 国产精品视频一区国模私拍| 国模精品视频一区二区| 欧美在线视频免费| 久久这里有精品视频| 国产91在线播放精品91| 国产精品视频免费观看www| 久久精品电影一区二区| 成人激情在线观看| 久久福利视频网| 久久久久久久香蕉网| 91精品国产综合久久香蕉922| www欧美日韩| 51久久精品夜色国产麻豆| 精品福利在线观看| 亚洲美女av网站| 欧美精品videosex性欧美| 91精品国产91久久久久久| 欧美在线观看网站| 日韩视频永久免费观看| 国产日韩欧美在线视频观看| 欧美激情欧美狂野欧美精品| 亚洲色图综合网| 欧美激情在线观看| 国内精品久久久久久| 日韩美女av在线| 91精品国产免费久久久久久| 久久久国产精品一区| 亚洲а∨天堂久久精品喷水| 国产精品女主播| 91久久精品国产| 精品日韩中文字幕| 久久久国产精品亚洲一区| 亚洲国产精品热久久| 国产美女久久精品香蕉69| 亚洲国产欧美在线成人app| 亚州欧美日韩中文视频| 久久精品电影一区二区| 亚洲成av人影院在线观看| 中文字幕国产精品久久| 色噜噜国产精品视频一区二区| 欧美成人一区在线| 亚洲成色www8888| 午夜免费日韩视频| 亚洲国产精品女人久久久| 欧美激情一区二区三区在线视频观看| 国产精品久久久久久久久免费看| 国产人妖伪娘一区91| 成人激情视频在线| 懂色av影视一区二区三区| 欧美精品国产精品日韩精品| 色吧影院999| 宅男66日本亚洲欧美视频| 中文字幕日韩有码| 91大神福利视频在线| 欧美高清视频在线播放| 日韩精品免费综合视频在线播放| 日本欧美爱爱爱| 亚洲精品免费在线视频| 欧美激情久久久久久| 亚洲色图13p| 狠狠躁夜夜躁人人爽超碰91| 久久精品国产2020观看福利| 日韩欧美亚洲成人| 亚洲欧美在线第一页| 亚洲日韩中文字幕在线播放| 久久久国产一区二区| 欧美电影在线播放| 成人久久一区二区三区| 九九热这里只有在线精品视| 成人中文字幕在线观看| 欧美高清电影在线看| 亚洲色图25p| 精品人伦一区二区三区蜜桃网站| 中文欧美在线视频| 日韩在线免费视频观看| 久久久久久久国产| 日韩经典第一页| 欧美午夜www高清视频| 日韩欧美高清视频| 98午夜经典影视| 伊人久久久久久久久久久| 91免费在线视频| 国内精品久久久| 欧美视频在线观看免费| 黑人精品xxx一区一二区| www.亚洲免费视频| 91精品视频在线看| 一区二区在线视频播放| 日韩欧美在线视频观看| 成人久久久久爱| 色系列之999| 日韩亚洲精品视频| 亚洲国产精品系列| 91色p视频在线| 亚洲欧美激情在线视频| 欧美电影在线播放| 亚洲欧洲av一区二区| 国内精品久久久久久久久| 欧美福利视频在线| 在线观看不卡av| 亚洲精品视频播放| 2019中文字幕全在线观看| 欧美成人激情图片网| 夜夜嗨av一区二区三区四区| 2019av中文字幕|