我现在正在编写一个简单的程序来模拟真实用户上网。但是,如果屏幕上弹出任何弹出窗口或程序,我需要最小化或关闭它以防止它与错误的程序交互。所以我必须监控正在运行的进程或检测新进程?我尝试使用Javascript但它在IE中需要ActiveX并且存在很多问题。有人可以告诉我如何开始编写代码的这一部分吗?我google了一下,它说那些进程window.opener.close()或Process.Destroy()命令。谢谢。下面是我的代码的简单草稿。
package javaapplication1;
import java.util.Random;
public class JavaApplication1
{
public static void main(String[] args)
{
try
{
Random rand = new Random();
int n = 1 + rand.nextInt(3);
if (n == 1)
{
String myURL = "www.facebook.com";
java.awt.Desktop myNewBrowserDesktop = java.awt.Desktop.getDesktop();
java.net.URI myNewLocation = new java.net.URI(myURL);
myNewBrowserDesktop.browse(myNewLocation);
}
if (n == 2)
{
String myURL = "www.google.com";
java.awt.Desktop myNewBrowserDesktop = java.awt.Desktop.getDesktop();
java.net.URI myNewLocation = new java.net.URI(myURL);
myNewBrowserDesktop.browse(myNewLocation);
}
if (n == 3)
{
String myURL = "www.yahoo.com";
java.awt.Desktop myNewBrowserDesktop = java.awt.Desktop.getDesktop();
java.net.URI myNewLocation = new java.net.URI(myURL);
myNewBrowserDesktop.browse(myNewLocation);
}
}
catch(Exception e)
{
}
}
}
答案 0 :(得分:0)
这不可能。 Desktop.browse
Launches the default browser to display the URI。浏览器显示的文档(html)内容可能会导致浏览器打开新窗口或执行浏览器在浏览器中手动浏览该URI时可能执行的任何操作。
在大多数情况下,浏览器不会创建新进程。无论是创建新流程还是仅创建窗口,它都不会向您的呼叫程序提供任何通知;所以你的调用程序无法控制那些窗口。
您可以使用嵌入式浏览器执行此类操作。