0

长话短说,它是关于带有 WebBrowser 控件的 Windows 窗体应用程序。该应用程序打开一个网站,填写用户名和密码,登录,通过执行 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();
                    }
                }
            }
            }

我遇到的问题是,当我启用代码的第二部分(检查过程)时,javascript 启动不成功。java脚本没有执行,程序永远不会启动,检查过程进入无限循环。

任何帮助将非常感激!

4

1 回答 1

0

在单独的线程中进行流程检查解决了我的问题。

private void GetPRo()
{
    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();
                }
            }
        }
    } 
}

.

Thread CloseApp = new Thread(new ThreadStart(GetPro));
CloseApp.Start();
于 2012-05-09T07:10:03.990 回答