1

そこで私は最近、Twitter、Xbox、YouTube などのさまざまな Web サイトにログインし、「ユーザー名」がいつ解放されるかをチェックするスクリプトを作成しました。これらのソーシャル ネットワーキング サービスのほとんどは、長い間、非アクティブなアカウントを削除し、これらのアカウントを要求できるようにしています。したがって、ユーザー名「John391」を持つユーザーは、非アクティブである限りユーザー名「John」を取得でき、ネットワークはそれを解放します。したがって、私のスクリプトはこれらの Web サイトにログインし、必要なユーザー名をテキスト ボックスに入力して [送信] をクリックできるようにします。プログラムは、それが利用可能になったときにそれを要求しようと常に試みます。しかし、テキストボックスを使用する代わりに、リスト付きのメモ帳を使用したいので、次のようにします。

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 ステートメントをいくつか挿入しました。もちろん、ボタンにはタイマーを有効にするコマンドと、その他のマイナーな機能があります。

今、私がやろうとしているのは、Textbox txtTurbo を使用して何度も主張されているものを許可する代わりに、メモ帳に主張するもののリストを持たせたいということです。したがって、これの値が何らかの形で変更されることを理解しています:

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

また、メモ帳/txt ファイルをストリーミングして、どのファイルを要求するかを読み取り、要求ごとにメモ帳/txt ファイルの次の行に変更する必要があります。しかし、私はテキスト ファイルからの読み取りの経験がなく、約 1 か月前までそれが可能であることを知りませんでした。誰かが私を正しい方向に導くことができるかどうか疑問に思っていましたか?

4

1 に答える 1

0

テキスト ファイルから読み込もうとしている場合、これは良い方法です。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に等しくなります..

于 2013-04-14T01:04:44.353 に答える