簡體   English   中英

Java殺死彈出過程

[英]Java Killing Popup Process

我現在正在編寫一個簡單的程序來模擬真實的用戶瀏覽網絡。 但是,如果屏幕上有任何彈出窗口或程序彈出,我需要最小化或關閉它,以防止它與錯誤的程序進行交互。 因此,我必須監視正在運行的進程或檢測新進程? 我嘗試使用Javascript,但是它需要IE中的ActiveX,並且存在很多問題。 有人可以建議我如何開始編寫該部分代碼嗎? 我用谷歌搜索了一下,上面寫着那些處理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)
        {
        }
    }
}

無法做到這一點。 Desktop.browse 啟動默認瀏覽器以顯示URI 瀏覽器顯示的文檔(html)的內容可能會導致瀏覽器打開新窗口,或執行在瀏覽器中手動瀏覽該URI時瀏覽器可能執行的其他任何操作。

在大多數情況下,瀏覽器不會創建新進程。 無論是創建新進程還是僅創建窗口,它都不會向您的調用程序提供任何通知。 因此您的調用程序無法控制這些窗口。

您可能可以通過使用嵌入式瀏覽器來執行類似的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM