Originariamente inviato da RogerTheJoker
grazie per la risposta andbin, spero di trovare qualcosa sulla libreria JNA per documentarmi... magari una guida con esempi
Se vuoi iniziare a "giocare" un pochino con la libreria JNA, prova questo esempio che ho appena scritto:

codice:
import com.sun.jna.*;
import com.sun.jna.win32.*;

public class MinimizzaCalcolatrice {
    public static void main(String[] args) {
        Pointer hWnd = MyUser32Lib.INSTANCE.FindWindowA(null, "Calcolatrice");

        if (hWnd == null) {
            System.out.println("Finestra non trovata");
            return;
        }

        MyUser32Lib.INSTANCE.ShowWindow(hWnd, MyUser32Lib.SW_MINIMIZE);
    }

    public interface MyUser32Lib extends StdCallLibrary {
        MyUser32Lib INSTANCE = (MyUser32Lib) Native.loadLibrary("user32", MyUser32Lib.class);

        int SW_MINIMIZE = 6;

        Pointer FindWindowA(String winClass, String title);
        boolean ShowWindow(Pointer hWnd, int nCmdShow);
    }
}
Funziona solo su Windows (invoca 2 funzioni delle API Win32). La scritta "Calcolatrice" si riferisce proprio alla ben nota Calcolatrice di Windows. Avvia la calcolatrice, poi lancia questo programmino, che va a "minimizzare" la calcolatrice.

È necessario avere la libreria JNA, in particolare deve essere in "classpath" il jar jna.jar.

Per la libreria JNA vedere il sito http://jna.java.net (ma di recente il progetto si è spostato su https://github.com/twall/jna). E per le API Win32 la documentazione di riferimento è Microsoft MSDN library, http://msdn.microsoft.com/en-us/library/ (chiaramente sezione Windows development).

Se hai dubbi o domande, chiedi pure.