CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

论坛灌水机,谁又源代码让小弟学习一下,在此感谢

楼主nydelphi(程序狂人)2004-12-01 13:52:27 在 Delphi / 网络通信/分布式开发 提问

谁又论坛灌水机源代码或谁做过,讨论一下  
  问题点数:0、回复次数:5Top

1 楼sixgj(轰炸机)回复于 2004-12-01 14:04:59 得分 0

灌水关键是自动发言罢了。要能设置灌水时间间隔和文字!Top

2 楼yinzhiw(不懂OOP)回复于 2004-12-01 14:08:24 得分 0

呵呵Top

3 楼nydelphi(程序狂人)回复于 2004-12-01 14:08:36 得分 0

我看了一个文章,看不懂  
   
      论坛灌水机的技术点  
   
  破天惊   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再加上一些代码就可以作成一个完整的灌水机了!  
   
     
   
     
  Top

4 楼nydelphi(程序狂人)回复于 2004-12-01 16:14:10 得分 0

难道没有帮忙嘛???  
      CSDN上没高手了Top

5 楼ysjhuuuu(风蓝)回复于 2004-12-19 22:33:13 得分 0

使用winsock直接向80发送数据包就可以了Top

相关问题

  • zyl910,感谢你的源代码?接分!
  • 刚开始学习.net,求asp.net(C#)学习源代码
  • 主版序列号源代码 感谢 juqiang
  • 求Delphi编写ping命令源代码!!!(万分感谢!)
  • 学c++,高分求有助于学习的c++源代码.....
  • 斑竹,发起共享源代码吧!大家交流学习
  • 400分寻求有较好学习价值的JSP源代码!
  • 100分求MIS系统源代码(学习用)
  • 求flash网站源代码?学习,谢谢!高分
  • 恳切请教:如何学习unix源代码

关键词

  • 网页
  • 控制
  • document
  • tmploop
  • hdoc
  • webbrowse
  • 论坛灌水机
  • 参数
  • hlen
  • 打开

得分解答快速导航

  • 帖主:nydelphi

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo