长话短说,这是关于带有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脚本,程序永远不会启动,检查过程会进入无限循环。
非常感谢任何帮助!
答案 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();