1

開いているすべてのウィンドウをJavaでスキャンして、指定されたウィンドウを見つけることは可能ですか? メモ帳と言いますか?たとえば、メモ帳を前面と中央に開いて準備を整え、プログラムを実行すると、開いているすべてのウィンドウがスキャンされ、メモ帳が前面に表示されます。

4

2 に答える 2

0

私は Windows システムで豊富な経験を持っています。また、Windows システム固有の要件が Windows Management Instrumentation (WMI) で適切に満たされていることも知っています。私はあなたがやっていることのように WMI をうまく使ったことがありますが、Java を使ったことは一度もありません。これはWMIの説明 のリンク です。あなたが試したものと、その結論を教えてください。

Java を使用して WMI にアクセスする方法を理解すれば、Windows システムでほぼすべての操作を実行できます。もちろん、そのような要件を課せられた場合は、C# と .NET を使用します。しかし、Java はあなたの選択です</p>

于 2012-05-28T06:01:33.213 に答える
0

これは JNA を使用して実行できます。

import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef.HWND;


// https://github.com/twall/jna#readme
//    you need 2 jars : jna-3.5.1.jar and platform-3.5.1.jar

public class ActivateNotepad {

    public static void main(String[] args) {
            HWND hwnd = User32.INSTANCE.FindWindow("Notepad", null);
            if (hwnd == null) {
                System.out.println("No Notepad instance detected");
            }
            else{
                System.out.println("Notepad instance found.");
                User32.INSTANCE.SetForegroundWindow(hwnd);  
            }
        }
}
于 2015-02-10T16:23:30.873 に答える