使用 VB 应用程序从记事本中读取行并提交信息

Posted

技术标签:

【中文标题】使用 VB 应用程序从记事本中读取行并提交信息【英文标题】:Read line from notepad with VB application and submit information 【发布时间】:2013-04-06 08:03:55 【问题描述】:

所以我最近创建了一个脚本,可以登录到各种网站,例如 Twitter、Xbox、YouTube,它会检查“用户名”何时被释放。这些社交网络服务中的大多数在这么久之后,都会删除不活跃的帐户并允许这些帐户被认领。所以用户名为“John391”的用户只要不活跃就可以获得用户名“John”,然后网络将释放它。所以我的脚本登录到这些网站,并允许您在文本框中输入您想要的用户名,然后单击提交。该程序不断尝试在它可用时声明它。但是,我想使用带有列表的记事本,而不是使用文本框,所以像这样:

John
Achilles
Richard
Logan

所以在它试图认领 John 之后(如果 John 仍然不可用),它会转到 Achilles 等等。到目前为止,这是我的脚本,我有一个计时器和一个按钮来完成大部分工作。计时器用于不断检查文本框值中的内容,而按钮只是启动该过程。我还必须提到,当我第一次开始这样做时,我的程序继续超时,我发现解决这个问题的唯一方法是暂停声明并刷新页面,但这很好。无论如何,让我解释一下我的脚本:

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick



    If Not number_of_ticks > NumericUpDown1.Value Then
        number_of_ticks += 1
        If ((WebBrowser1.IsBusy)) Then
        Else
            If WebBrowser1.Url.ToString = "https://live.xbox.com/en-US/ChangeGamertag" Then


                WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)

                WebBrowser1.Document.GetElementById("claimIt").InvokeMember("Click")
            Else

                WebBrowser1.Navigate("https://live.xbox.com/en-US/ChangeGamertag")


            End If
        End If

    Else
        'number_of_ticks has exceed the maximum amount of allowed ticks
        Timer1.Enabled = False
        WebBrowser1.Refresh()

        number_of_ticks = 0
        Timer1.Enabled = True



    End If



End Sub

正如您在此处看到的计时器,它检查 number_of_ticks 以确定页面应该何时刷新。这也是由使用该程序的人设置的。通常它是 250,所以它会尝试直到 250,然后刷新。它也有一点保护,我注意到如果它试图在页面未加载时声明它会使程序无响应,所以我抛出了几个 if 语句来解决这个问题。当然,该按钮仅具有启用计时器工作的命令和其他一些次要功能。

现在,我想做的不是使用文本框 txtTurbo 来允许一遍又一遍地声明,我想要一个记事本来列出要声明的内容。所以我知道 this 的值会以某种方式改变:

WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)

它将被制成流式传输记事本/txt文件以读取要声明的内容,并且在每次声明后它应该更改为记事本/txt文件的下一行。但是,我没有阅读文本文件的经验,直到大约一个月前我才知道这是可能的。我想知道是否有人可以引导我朝着正确的方向前进?

【问题讨论】:

我很困惑 :P 你只想从文本文件中读取吗? 【参考方案1】:

如果您尝试从文本文件中读取,这是一个好方法。我创建了 4 个不同的字符串 (val1-4),并读取了我制作的测试文本文件 (Testt.txt) 中的所有行。然后将文本文件的值赋给对应的字符串

Dim val1 As String
Dim val2 As String
Dim val3 As String
Dim val4 As String

Dim lines = System.IO.File.ReadAllLines("C:/testt.txt")
val1 = lines(0)
val2 = lines(1)
val3 = lines(2)
val4 = lines(3)

在您的情况下 val1 将等于 John , val2 将等于 Achilles 等等..

【讨论】:

以上是关于使用 VB 应用程序从记事本中读取行并提交信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在记事本和记事本++等外部应用程序中打开vba表单

从 vb.net 提交的网络浏览器不起作用

从 VB.net 上传文件到大型机

VB 用API读取别的软件的LISTBOX中的某项和项目的总数

C ++从文本文件中读取行并编辑

如何使用PHP读取文本文件内容