Сегодня стояла задача получить доступ к WinApi из Java. На помощь пришел JNI.
Дня начала в maven надо прописать две зависимости.
Дня начала в maven надо прописать две зависимости.
<dependencies> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>4.1.0</version> </dependency> </dependencies>А теперь выведем в консоль, например, заголовок активного окна с помощью этого кода.
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef;
public class GetForegroundWindowTitle {
public static void main(String[] args) {
User32 user32Lib = User32.INSTANCE;
WinDef.HWND hwnd = user32Lib.GetForegroundWindow();
char[] title = new char[10240];
user32Lib.GetWindowText(hwnd, title, title.length);
System.out.println(String.valueOf(title).trim());
}
}
С JNI есть доступ к api unix, mac и других осей.

Комментариев нет:
Отправить комментарий