5
Windows masaüstünde çalışan tüm uygulamalar, java kullanılarak en aza indirgenmiş durumda nasıl bulunur?Çalışan uygulamalar java kullanılarak en aza indirilmiş durumda nasıl bulunur?
Windows masaüstünde çalışan tüm uygulamalar, java kullanılarak en aza indirgenmiş durumda nasıl bulunur?Çalışan uygulamalar java kullanılarak en aza indirilmiş durumda nasıl bulunur?
İlk downloadjna.jar ve platform.jar gerekiyor ve Sınıfyolu ekleyin. Windows sistem çağrılarını MSDN documentation'a bakarak yapabileceklerini öğrenebilirsiniz.
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinUser.WINDOWINFO;
import com.sun.jna.platform.win32.WinUser.WNDENUMPROC;
public class Minimized {
private static final int MAX_TITLE_LENGTH = 1024;
private static final int WS_ICONIC = 0x20000000;
public static void main(String[] args) throws Exception {
User32.EnumWindows(new WNDENUMPROC() {
@Override
public boolean callback(HWND arg0, Pointer arg1) {
WINDOWINFO info = new WINDOWINFO();
User32.GetWindowInfo(arg0, info);
// print out the title of minimized (WS_ICONIC) windows
if ((info.dwStyle & WS_ICONIC) == WS_ICONIC) {
byte[] buffer = new byte[MAX_TITLE_LENGTH];
User32.GetWindowTextA(arg0, buffer, buffer.length);
String title = Native.toString(buffer);
System.out.println("Minimized window = " + title);
}
return true;
}
}, 0);
}
static class User32 {
static { Native.register("user32"); }
static native boolean EnumWindows(WNDENUMPROC wndenumproc, int lParam);
static native void GetWindowTextA(HWND hWnd, byte[] buffer, int buflen);
static native boolean GetWindowInfo(HWND hWnd, WINDOWINFO lpwndpl);
}
}
: Burada
tüm küçültülmüş pencereleri numaralandırmak için koddur