webbroswer 自动填表在Application.ShowMainForm := False;下无法运行
iakvl 2011-09-03 05:16:11 最近想设计一个程序隐藏登录网站
工程文件
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;
Application.Run;
end.
var
o : Olevariant;
begin
o := WebBrowser.OleObject.document.all.item('LoginUserID',0); //找到登录用户名的输入框
o.value := 'TEST';
o := WebBrowser.oleobject.document.all.item('LoginPassword',0); //找到登录密码的输入框
o.value := 'TEST'
WebBrowser.oleobject.document.Forms.Item(0, 0).submit; //第一个表单提交
{
o :=WebBrowser.oleobject.document.all.item('Login',0); //或者用指定表单名称提交
o.Click; //点击操作,对其它对象也可同样操作
}
end;
使用以上代码实现自动填表,利用showmessage('')发现程序运行到 o:= WebBrowser.OleObject.document.all.item('LoginUserID',0); //找到登录用户名的输入框时就卡住了,cpu达到100%,内存无变化,
去掉Application.ShowMainForm:=false;这句,显示主窗口后一切正常,
是否在主窗口隐藏后无法使用WebBrowser.oleobject.document.all.item('Login',0)?
有没有好的解决方法?