Я хочу получить путь к текущим активным обоям для рабочего стола, используя Java - PullRequest
3 голосов
/ 05 декабря 2011

Я хочу внести некоторые изменения в активные обои для рабочего стола, например, добавив водяной знак.

Для этого мне нужно получить путь к пути активных обоев.добавление водяного знака, которое я могу сделать.

Это можно сделать с помощью библиотеки JNA, но я не могу получить доступ к пути к файлу.

Ответы [ 2 ]

3 голосов
/ 05 декабря 2011

Способ получения текущих обоев рабочего стола может отличаться в зависимости от операционной системы, для Windows 7 его можно получить по следующему пути реестра:

HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper

для чтения пути в реестре вы можете использовать метод, описанный в следующем вопросе

чтение / запись в реестр Windows с использованием Java

2 голосов
/ 26 октября 2016

Как Low Flying Pelican и ee сказал,

HKEY_CURRENT_USER\Control Panel\Desktop

содержит ключ Wallpaper , который имеет указатель на обои.В командной строке вы можете использовать

reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper

, чтобы получить местоположение, или использовать его для собственной поддержки Java:

Runtime.getRuntime().exec('reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper');
...