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.