作業中のアプリにWatiNを使用しています。アプリで私はサイトのリストを取得しました:List<string> sites;
そして、データをロードして送信したり、現在のサイトからデータを取得したりするために、数秒ごとに実行されるタイマーを取得しました。
このコードを実行しようとしても、例外も発生しませんでした。理由がわかりません。
private void watiNMethod()
{
Settings.AutoStartDialogWatcher = false;
Settings.AutoStartDialogWatcher = false;
ie = new IE(webBrowser1.ActiveXInstance);
ie.GoTo(sites[runing]);
ie.WaitForComplete();
MessageBox.Show("done loading");
}
int runing;
Thread watInThread;
private void button1_Click(object sender, EventArgs e)
{
timer = new System.Windows.Forms.Timer();
timer.Start();
watInThread = new Thread(watiNMethod);
watInThread.SetApartmentState(ApartmentState.STA);
runing = 0;
}
private void timer_tick(object sender, EventArgs e)
{
if (runing <= sites.Count)
{
watInThread.Start();
}
else
{
timer.Stop();
}
runing++;
}
Webブラウザーのコントロールにロードして、彼がWatiNメソッドを完了するのを待って、サイトにデータを送信するか、彼からデータを取得できるようにしたいです。
コントロール内でWatiNを実行するには、スレッドを使用する必要があるため、これをどのように行うかわかりませんWebBrowswer
。
(私の英語でごめんなさい)