Written on 2009年1月8日 @ 15:27 | by spirit | Tags: delphi  源码   | 浏览:

    前几天U9推出了“魔兽RPG地图评选”,看到我喜欢的RPG地图“仙之侠道”得了个第七名,实在恼火,后来得知仙原来一直是在第一的,现在的前几名都是用按键精灵刷票刷上去的。我研究了一下发现U9投票竟然用cookies控制,清理一下浏览器缓存就能继续投,这不是明摆着让人刷票么?

    支持“仙道”,也用Delphi写了一个刷票的小程序,很烂,但刷票绝对没问题,用到了前文提到的鼠标自动点击自动按回车自动清除cookies等。代码如下(忘了加入网页定时刷新了,网速慢时可能会造成无法投票):

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw,shellapi,Registry ,WinInet,ShlObj,ComObj,
  ExtCtrls;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


function GetCookiesFolder:string; 
var 
        pidl:pItemIDList; 
        buffer:array [ 0..255 ] of char ; 
begin 
       SHGetSpecialFolderLocation( 
         application.Handle , CSIDL_COOKIES, pidl); 
       SHGetPathFromIDList(pidl, buffer); 
       result:=strpas(buffer); 
end; 
function ShellDeleteFile(sFileName: string): Boolean; 
var 
      FOS: TSHFileOpStruct; 
begin 
       FillChar(FOS, SizeOf(FOS), 0); {记录清零} 
       with FOS do 
       begin 
           wFunc := FO_DELETE;//删除 
           pFrom := PChar(sFileName); 
           fFlags := FOF_NOCONFIRMATION; 
       end; 
       Result := (SHFileOperation(FOS) = 0); 
end; 

//删除cookies 
procedure DelCookie; 
var 
       dir:string; 
begin 
      try 
       InternetSetOption(nil, INTERNET_OPTION_END_BROWSER_SESSION, nil, 0); 
       dir:=GetCookiesFolder;
       ShellDeleteFile(dir+'\*.txt'+#0);
       except
       abort; 
      end; 

end; 




procedure TForm1.FormCreate(Sender: TObject);
begin
   webbrowser1.Navigate('http://war3.uuu9.com/yuandan/')  ;
   timer1.Enabled:=false;

end;

procedure TForm1.Button1Click(Sender: TObject);
 var
    x,y:integer;   
begin
  x:=   form1.Left+210;
  y:=   form1.Top+webbrowser1.Top+396;
  SetCursorPos(x,y);
  Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
  Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin
    DelCookie;


end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
     button1.Click;
     keybd_event(VK_RETURN, $a ,0,0);
     button2.Click;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
   application.Terminate;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
    timer1.Enabled:=true;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
    timer1.Enabled:=false;
end;

end. 


若转载请注明出处: Spirit's Home
本文地址: http://www.7788sky.cn/post/delphi_toupiao.html
  1. 0 Response to “Delphi网页自动投票程序源码”

Post a Comment

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。