前几天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
0 Response to “Delphi网页自动投票程序源码”