2016-08-27 10 views
0

他のサードパーティのアプリケーションが動作している間に実行されるプログラムを設計したいと思います。例えば、私はskypeウィンドウが開いている間、プログラムをループし続けたいと思う。これは可能ですか?JAVA:他のサードパーティのアプリケーションが開かれているのを検出する可能性があります

public class test { 
    public static void main(String[] args) throws AWTException, InterruptedException { 
     Robot robot = new Robot(); 
     int right = InputEvent.BUTTON3_DOWN_MASK; 
     int left = InputEvent.BUTTON1_DOWN_MASK; 

     TimeUnit.SECONDS.sleep(3); 
     robot.mouseMove(1720, 960); 
     robot.mousePress(right); 
     TimeUnit.SECONDS.sleep(1); 
     robot.mouseRelease(right); 
} 

skypeが開いている間にこのコードをループします。

+0

[ツアー]、[ヘルプ]、[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)のセクションを見て、このサイトの動作を確認してください。あなたの現在および将来の質問を改善するのに役立ち、より良い回答を得るのに役立ちます。 –

+0

もう一度、上記のコメントで私があなたに与えたリンクをチェックしてください。そこでは、書式設定できないコメントにコードを投稿すべきではないことを学びます。また、問題とコードについてより適切な詳細を提供したいと思うでしょう。また、Jon Skeet ["Stack Overflow question checklist"](http://meta.stackoverflow.com/q/260648)を参照してください。これは、良い質問を書くときに役立ちます。 –

+0

コードが追加されました。これが明確になる –

答えて

1

これを試して、まだ実行中のアプリケーションを確認できます。

String line = ""; 
Process proc = Runtime.getRuntime().exec("tasklist.exe"); 
BufferedReader input = new BufferedReader(
     new InputStreamReader(proc.getInputStream())); 
while ((line=input.readLine()) != null) { 
    // now you can do what you want e.g: you can check the line if contains skype application name or other skype belongings information. 
    System.out.println(line); 
} 
input.close(); 

プログラムの出力は次のとおりです。

while-loop内部
Image Name      PID Session Name  Session# Mem Usage 
========================= ======== ================ =========== ============ 
Skype.exe      9492 Console     1 231,608 K 
... 

のであなたは

if(line.toLowerCase().contains("skype")) { 
    // do what you want if skype is running 
} else { 
    // do what you want if skype is not running 
} 

を確認することができ、このヘルプを願っています!

+0

どうやって動作しますか?私はかなりプログラミングに新しいです。これを私の現在のコードにどのように実装すればよいですか? –

+0

答えを見てください。 –

関連する問題