1

I am trying to minimize all running applications in Windows when running my own program. I am using the following code, but it's minimizing the all windows including my program. Is there any way that I can minimize the applications excluding my program?

My code is following:

try {
    Runtime.getRuntime().exec(
        new String[]{
            "cmd.exe",
            "/c",
            "\"" + System.getenv("APPDATA") +
            "\\Microsoft\\Internet Explorer\\Quick Launch\\Show Desktop.scf\""});
} catch (Exception ex) {
}
4

4 に答える 4

3

自分のプログラムを実行しているときに、Windows で実行中のすべてのアプリケーションを最小化しようとしています。

そうしないでください。 代わりに、次のいずれかを実行します。

  • 呼び出しますsetAlwaysOnTop(true)(そして、常にトップになりたい他のすべてのアプリでそれをスラグアウトします).
  • 全画面排他モードを使用します。画面や他のアプリのすべてのピクセルをペイントする必要があります。無関係になる。

これらのソリューションは両方ともクロスプラットフォームであり、Windows、Linux/Unix、および OS X で動作します。

于 2013-09-24T05:10:32.933 に答える
2

JNAを使用しないのはなぜですか。これにより、ウィンドウを操作するための多数のオプションが提供されます...これがJNAを使用する方法です。JNA.jarをダウンロード

HWND hwnd = User32.INSTANCE.FindWindow(null, nameOfWindow); // window title 
User32.INSTANCE.ShowWindow(hwnd, 9); // SW_RESTORE
User32.INSTANCE.SetForegroundWindow(hwnd); // bring to front

お役に立てれば...

于 2013-09-24T05:01:09.043 に答える
0

Mac では、Windows+D ホットキーまたは Fn + F11 を送信できます。

Robot r = new Robot();
r.setAutoDelay(250);
r.keyPress(KeyEvent.VK_WINDOWS);
r.keyPress(KeyEvent.VK_D);
r.keyRelease(KeyEvent.VK_D);
r.keyRelease(KeyEvent.VK_WINDOWS);
于 2015-01-16T20:09:45.547 に答える