从网站/退出应用程序启动JavaScript

时间:2012-05-07 13:16:42

标签: c# javascript process

长话短说,这是关于带有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脚本,程序永远不会启动,检查过程会进入无限循环。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分: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();