我用一个窗体打开了一个HTML页面,但是这个窗体是不可见的,我现在想通过消息等实现一个HTML页面上的点击,不知可否实现,怎么实现?分不够可再开新贴!

解决方案 »

  1.   

    HTML页面上的控件没有句柄,不会响应消息的
    去学习IE提供的接口吧
      

  2.   

    那如果只是实现对HTML页面上某一指定区域的点击呢,就是单纯的根据坐标位置来进行,而不管那个地方HTML页面上是什么,也不管是否可以点击
      

  3.   

    模拟点击不行
    WebBrowser编程-自动登录操作
    利用Delphi的Olevariant类型
    [Post=88]
    单个frames的输入
    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;
    多个frames的输入,FrameIndex为Frame的序号
    var
    o : Olevariant;
    begin
    //找到登录用户名的输入框
    o := WebBrowser.oleobject.document.documentelement.document.frames.item(FrameIndex).document.all.item('LoginUserID',0);
    o.value := 'TEST';
    //找到登录密码的输入框
    o := WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex).document.all.item('LoginPassword',0);
    o.value := 'TEST'
    //第一个表单提交
    WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex).document.Forms.Item(0, 0).submit;
    {
    //或者用指定表单名称提交
    o :=WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex)..document.all.item('Login',0);
    o.Click;   //点击操作,对其它对象也可同样操作
    }
    end;
      

  4.   

    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;
      

  5.   

    你用上面的代码试了吗???
    如果不要验证码,改一下就能登CSDN了