Если программа на Java контактирует со средой Windows, то иногда приходиться пользоваться данными хранящимися в реестре Windows. Существует несколько способов обратиться к ресурсам из этого хранилища. Например, можно воспользоваться обёрткой высокого уровня WinRegistryWrapper.java. но мне не понравилось это решение тем, что при работе в русском Windows (в конкретном моем приложении) стала происходить путаница с кодовыми страницами. Ещё есть способ с использованием методов библиотеки deploy, которая входит к тому же в Java SDK, но сама библиотека оказалась очень большой по размеру, что неприлично увеличило размер итогового jar-файла приложения. Поэтому я решил пойти другим путём — воспользоваться обращением к API Windows через Java JNA (Java Native Access). К тому-же, к библиотеке jna так или иначе приходится обращаться, если java-приложение позиционируется в основном под Windows. (далее…)