我用asp开发了一个会员系统,
我现在用WebBrowser 控件镶嵌在程序里..
问题如下:
我想用delphi做会员的登陆界面 有两个 变量 username 和 password 提交给 www.xxx.com/checklogin.asp 这个是登陆的验证的...我用IdHTTP post 提交 www.xxx.com/checklogin.asp 进行登陆验证..一切正常 ... 赋予cookie 调转到 main.asp 页面..问题 是  我 怎么让 main.asp  在 WebBrowser 控件中显示 啊.. 
如果 直接 Navigate  main.asp  显示还是 没用登陆 ..请个各位大虾帮忙 ..
!!!!!
在此  谢过!!!!!!!!!!!!

解决方案 »

  1.   

    我也做了一个。应该是用webbrowser来控制登陆页面进行提交。而不是用Navigate  这样来直接跳转的也就是你要做的事情只是把用窗体得到的数据在webbrowser里模拟成像在IE里面登陆的效果。然后通过得到的返回值来判断是否登陆成功
      

  2.   

    chenyl0857(布拉格) 你说那个方法我知道,
    不过我想实现用程序登陆啊!!(我登陆的时候还要发送一些计算机硬件的标识,比如cpu id ,mac地址),用 webbrowser里模拟成像在IE里面登陆 不太好弄啊没有其它的方法 啊 ...
      

  3.   

    可能我没说明白呵呵
    比如你的窗体上有用户名和密码两个输入框。然后你再拉一个webbrowser放在窗体上隐藏起来。程序运行时webbrowser先载入你原来用ASP做的登陆页面。然后用户通过在程序中输入用户名和密码点登陆时。你把两个输入框中得到的值写到webbrowser对应的框框中。然后让webbrowser里的页面提交。。这样是可以的。。你要附加什么信息在里面就可以自己控制了
      

  4.   

    用 webbrowser里模拟成像在IE里面登陆不难的。。下面这个是我刚写的你可以参考一下。
    procedure TForm1.Button2Click(Sender: TObject);
    var
      Doc:IHTMLDocument2;
      elements: IHTMLElementCollection;
      HTMLInput: IHTMLInputElement;
      input:OleVariant;
    begin
       Doc:=webbrowser1.document as IHTMLDocument2;
       elements:=Doc.all;
       HTMLInput:=(doc.all.item('username',0) as ihtmlinputelement);//username是你ASP页里输入框的名字
    HTMLInput.value:='用户名';
    //这里还可以加入密码啊还你所要的什么硬件信息之类的。只要你在ASP多放几个输入框或隐藏的输入框类型用来接收变量值。。然后提交
       //这下面是得到提交按钮然后模拟点击提交
       input:=doc.all.item('submit',0);
       input.click;
    //然后等待页面载入完成再得到webbrowser里面的返回值来判断就行了
    end;