2011-09-13 7 views
1

저는 실제 사용자 서핑 웹을 시뮬레이트하는 간단한 프로그램을 작성하고 있습니다. 그러나 화면에 팝업 또는 프로그램 팝업이있는 경우 잘못된 프로그램과의 상호 작용을 막기 위해 최소화 또는 닫아야합니다. 따라서 실행중인 프로세스를 모니터링하거나 새로운 프로세스를 감지해야합니까? Javascript를 사용해 보았지만 Internet Explorer에 ActiveX가 있어야하며 상당히 문제가 있습니다. 누군가 코드의 일부를 작성하는 방법부터 나에게 친절하게 조언 할 수 있습니까? 나는 조금 봤 거든 그 프로세스 window.opener.close() 또는 Process.Destroy() 명령을 말합니다. 감사. 아래는 간단한 코드 초안입니다.Java Killing Popup Process

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

이것은 수행 할 수 없습니다. Desktop.browseLaunches the default browser to display the URI. 브라우저가 표시하는 문서의 내용 (html)은 브라우저에서 새 창을 열거 나 브라우저에서 수동으로 URI를 탐색 할 때 브라우저가 수행 할 수있는 다른 작업을 수행 할 수 있습니다.

대부분의 경우 브라우저는 새 프로세스를 만들지 않습니다. 새 프로세스 또는 창만 작성하는지 여부에 관계없이 호출 프로그램에 알림을 제공하지 않습니다. 따라서 호출 프로그램은 이러한 창을 제어 할 수있는 방법이 없습니다.

임베디드 브라우저를 사용하면 다음과 같이 할 수 있습니다.

+0

감사합니다. iexplore.exe 프로세스를 (제 경우 IE8) 항상 "맨 앞으로 가져 오기"하고 가능한 모든 팝업 프로그램을 무시하고 Java for 루프를 무한 루프에 넣으려고하면 어떻게 될까요? –

+0

어떻게 "모든 가능한 팝업 프로그램을 verride"합니까? 이 무한 루프는 무엇을해야합니까? –

+0

시뮬레이션 웹 서핑 세션은 팝업 프로그램이 브라우저를 방해하지 않도록하기 위해 오랜 시간 동안 발생하므로 계속 확인하려면 무한 루프를 사용해야합니다. –