簡単に言うと、これは WebBrowser コントロールを備えた Windows フォーム アプリケーションに関するものです。アプリケーションは Web サイトを開き、ユーザー名とパスワードを入力してログインし、javascript を実行して vpn クライアント (exe) を起動します。VPN クライアントが正常に起動したら、アプリケーションを終了する必要があります。前半は順調に進んでいます。
vpn クライアントが実行されているかどうかを確認したいのですが、実行されている場合はアプリケーションを閉じ、そうでない場合は exe が開始するのを待ちます。
private void LaunchJS()
{
HtmlDocument doc = webBrowser1.Document;
Object js = doc.InvokeScript("launchJS");
label1.Text = "complete";
}
.
if (label1.Text == ("complete"))
{
bool prc = false;
while (!prc)
{
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains("JS_plugin"))
{
prc = true;
Application.Exit();
}
}
}
}
私が経験している問題は、コードの 2 番目の部分 (チェック プロセス) を有効にすると、JavaScript の起動が失敗することです。Java スクリプトが実行されず、プログラムが起動せず、チェック プロセスが無限ループに陥ります。
どんな助けでも大歓迎です!