你可以自己写一个试一试,直接只要一个TWebBrowser,然后登陆一个网站,如果你要到自己的邮箱,一般先输入用户名,按下TAB,输入密码,按Enter你会发现你自己编的程序中TWebBrowser根本不响应TAB和Enter
解决方案 »
- 度过了痛苦的半个月,现在重新振作起来,散分200,开始新的生活工作学习(明早结贴)
- 新手请教:关于函数返回值的问题~!!!??
- 如何象Excel中有函数使用,可以使用宏代码
- install express delphi6 中文包哪里有?
- 对你来说可能很简单,取Datetime 数据类型的部分元素,在线等待!立即结账。
- 如何在程序中加入socket4支持代理,在线关注...等待中......
- help!为什么在access表中的一个小数位大于4位的数据用ado连接后在dbgrid、dbedit上只能显示四位,该如何决解?
- 如何做图标?
- 如何自定义报表?
- Delphi中debug模式release模式怎么切换的
- 关于Printer对象打印的问题
- 请教高手!!关于数据库的
我以前回复过
不过贴子找不到了
我再看看
1。实现是用SendKey函数在Delphi光盘上
2。拦截WM_KEYDOWN消息,判断是否回车及是否发给TWebBrowser的,然后用SendKey
3。拦消息用WinProc或TApplication控件,
用GetWindowRect(Msg.hwnd,tmpRect);然后判断tmpRect是否与你的TWebBrowser相同,然后...
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
tmpRect,tmpRect1:TRect;
begin
GetWindowRect(Msg.hwnd,tmpRect);
GetWindowRect(webBrowser1.handle,tmpRect1);
if (Msg.message=WM_KEYDOWN)and(Msg.wParam=VK_RETURN)
and(tmpRect.Left = tmpRect1.Left )and (tmpRect.Top = tmpRect1.Top ) then
SendKeys(#13,True);
end;
请告诉我SendKeys函数在光盘什么地方啊,还有,这个过程是否需要在主窗口上加一个ApplicationEvents1控件,这样就会导致整个应用程序全部响应这个过程了啊,我以前这样写过,但是没有成功
我当时的问题是再<text aerea>(可能是)中回车不换行
就是这样解决的SendKey在Delphi光盘上的SendKeys.pas中,你查找一下
我作了一个试验,给你贴出来
如果与你所想要的不符,那我也帮不了你unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
AppEvnts, OleCtrls, SHDocVw;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
ApplicationEvents1: TApplicationEvents;
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses sndkey32;{$R *.DFM}procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
tmpRect,tmpRect1:TRect;
begin
GetWindowRect(Msg.hwnd,tmpRect);
GetWindowRect(webBrowser1.handle,tmpRect1);
if (Msg.message=WM_KEYDOWN)and(Msg.wParam=VK_RETURN)
and(tmpRect.Left = tmpRect1.Left )and (tmpRect.Top = tmpRect1.Top ) then
SendKeys(#13,True);
end; procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('D:\a.htm');
//文件a.htm的内容,放到D盘根目录
//<form name="form1" method="post" action="">
//<textarea name="textfield" rows="5"></textarea>
//</form>
end;end.
OleUninitialize();