0

我有一个网站存储了 100 个用户 ....现在我想创建一个带有 100 个按钮的 VB 表单 ....当我点击 button1 时,它会打开 IE,然后自动登录 users1,当我点击 button2 时,它会打开 IE然后以 user2 身份自动登录。user3 直到 user100 相同....单击 vb 表单上的按钮。注意:我已经完成了设置打开 IE 并在每个窗口中以不同用户身份登录,但现在我正在寻找如何在单击表单中的每个按钮时在同一网站中设置不同用户自动登录。

我有更多关于表单的信息......我将使用(100 个按钮点击 = 100 个用户 = 100 个 IE 窗口......)这取决于用户点击他需要登录的按钮......因为我们不知道他想点击什么按钮/用户/时间.....

我真的非常需要你的帮助......在此先感谢。

这是Button_Click的一些代码

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    Using p As New Process
        p.StartInfo.FileName = "C:\Program Files\Internet Explorer\iexplore.exe"
        p.StartInfo.Arguments = "http://test.com"
        p.Start()
    End Using
4

2 回答 2

0

这是我能想出的解决这个问题的唯一方法。

我的猜测是您的登录名使用的是 POST 变量,这非常标准。

要完成这项工作,您必须允许使用 GET 提供用户名和密码。也就是说,像这样在 url 中发送它们:

http://test.com/login.php/asp?username=username&password=password

由于您尚未指定使用 PHP 还是 ASP.NET,我将添加有关如何获取两者值的信息: ASP.NET Request.Querystring("username") PHP $_GET["username"];

于 2012-11-22T10:07:50.883 回答
0

根据评论编辑

你是对的,不可能隔离单独的 webbrowser 控件。我建议您研究一下 WaTin 来控制单独的 IE 实例,或者研究 Awsomium .NET,我相信它允许在 1.7 中进行单独的会话,尽管我还没有测试过。

另请注意,由于默认情况下 IE8 会话 cookie 在实例之间共享,因此您需要使用 -nomerge 标志运行它们。瓦廷支持这一点。

基于您在问题中没有提到这一点,我假设您使用的是 IE7。如果是这种情况,并且此应用程序不打算在其他机器上使用,则应该可以创建一个带有嵌入式网络浏览器控件的单独应用程序,然后从主应用程序启动该应用程序的多个实例,因此您可以添加您自己的沟通机制,但 WaTin 可能是一个更好的主意

旧答案:

很难弄清楚你想做什么,但我猜你想创建一个 winforms 应用程序,让你选择一个用户帐户,然后打开浏览器并使用该帐户登录网站。

基于这个假设,我的建议是有一个按钮,以及选择帐户的某种方式,比如一个组合框和一个网络浏览器控件:

http://img198.imageshack.us/img198/888/66649645.jpg

而不是每个用户帐户 1 个按钮并尝试操作外部浏览器。如果这确实是您想要做的,请发表评论,我将根据需要编辑我的答案,并在您需要时提供起始代码,但如果不真正了解您需要做什么,我就无法做到这一点。

于 2012-11-22T19:50:23.367 回答