import com.ms.dll.Callback; public class EnumWins { public static void main(String args[]) { boolean results = false; EnumWindowsProc mycallback = new EnumWindowsProc() ; results = EnumWindows(mycallback, 0) ; if( ! results ) System.out.println("Problem enumerating windows") ; } /** @dll.import("USER32") */ private static native boolean EnumWindows(EnumWindowsProc myproc, int param); } class EnumWindowsProc extends Callback { public boolean callback(int hwnd, int lparam) { StringBuffer text = new StringBuffer(50); GetWindowText(hwnd, text, text.capacity()+1); if (text.length() != 0) { System.out.println("hwnd = " + Integer.toHexString(hwnd) + "h: Text = " + text); } return true; // return TRUE to continue enumeration. } /** @dll.import("USER32") */ private static native int GetWindowText(int hwnd, StringBuffer text, int cch); }