如何在自己的程序中确定指定网页中的按钮被单击了!--- 送1000分,请给出实现的代码,纸上谈兵的勿来! ( 积分: 300 )

我觉得用钩子比较好点!
帮你顶一下!
 
学习学习!
 
学习一下,顶
 
顶!!!!!!!!!!!!!!!!!!
 
题目不清楚,

是你自己写的浏览器打开网页,来拦截按钮点击事件(以前我写过一个小组件就是做这个的)

还是在Web服务器端来判断按钮是否被点击了(这个就太简单了)

如果想页面不被刷新,就判断是否被点击,方法也是有的


问题说清楚一点嘛
 
不会是病毒吧?
 
是不是在搞盗劫程序?
 
我也想知道,

关注一下
 
用COM技术
 
[按钮]被点击--->事件数据保存--->程序监视数据文件--->告诉你,这个[按钮]认别人给糟蹋了

你的[程序]--->监视对方IP,分析对方经纬坐标--->进入国防系统---->调用导弹系统--->对糟蹋你按钮的人实行攻击
 
这个应该在Click之后发送一消息给服务器端啊...用这个思路应该可以实现的啊.
 
请给出实现代码,纸上谈兵的,请不要来!
 
帮你顶了~~这个问题有水平~~
 
路过。。。 [:D]
 
不知楼主是把自己的网页放在自己的窗口里,还是在自己的窗口里浏览网上的网页?
请楼主再详细说明一下细节吧
 
又一个坐拥 150 分喊着送 1000 分的,怎么灭掉一个又出来一个?
 
我给点代码参考一下,
这个例子能拦截到你的那个按钮的点击事件,
不过有时候行,有时候不行, 我也郁闷,

而且对于 Maxthon 浏览器,
似乎只能拦截浏览器第一个打开的窗口

对于操作系统的IE 倒是都能拦截,
第一次还可以,但再试就不行了

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ShellAPI, SHDocVw, WebEvent;

type
TForm1 = class(TForm)
Memo1: TMemo;
Timer1: TTimer;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure WebBtnClick(Sender: IWebBrowser;
event: OleVariant; SrcElement: OleVariant);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure MyDeal(var Message: TMessage); message WM_USER+1023;
public
{ Public declarations }
eh: TWebEvent;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
iw: IShellWindows;
i: Integer;
id: IDispatch;
ib: IWebBrowser;
begin
iw := CoShellWindows.Create;
for i := 0 to iw.Count - 1 do
begin
id := iw.Item(i);
if Supports(id, IWebBrowser, ib) then
begin
eh.EvtSource := ib;
eh.AttachEvents;
Memo1.Lines.Add(
Format('attach to: %s', [ib.LocationURL]));
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
eh := TWebEvent.Create(Self);
eh.OnEvent := WebBtnClick;
eh.EventsToFire := 'onclick';
eh.StandardTags := 'input';
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
eh.Free;
end;

procedure TForm1.WebBtnClick(Sender: IWebBrowser;
event: OleVariant; SrcElement: OleVariant);
begin
//
PostMessage(Handle, WM_USER+1023, 0, 0);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key := #0;
ShellExecute(Handle, 'open', PChar(Edit1.Text),
nil, nil, SW_SHOWMAXIMIZED);
end;
end;

procedure TForm1.MyDeal(var Message: TMessage);
begin
Memo1.Lines.Add('click in explorer');
end;

end.
 
to:lich
用你的代码编译后:[Fatal Error] Unit1.pas(7): File not found: 'WebEvent.dcu'
这是怎么会事? 请赐教。。。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
873
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部