Как получить путь к текущим обоям рабочего стола Windows

К примеру, у меня есть папка с большим количеством обоев, и глазами искать текущие обои в этой папке довольно неудобно, есть ли способ упростить процесс?


Ответы (1 шт):

Автор решения: oleksandrigo
import subprocess

r1 = r"(Get-ItemProperty 'HKCU:\Control Panel\Desktop' TranscodedImageCache -ErrorAction Stop).TranscodedImageCache"
r2 = r"[System.Text.Encoding]::Unicode.GetString({r1}) -replace '(.+)([A-Z]:[0-9a-zA-Z\\])+','$2'"
file_path = subprocess.run(
    [
        'powershell.exe',
        "-NoProfile",
        "-ExecutionPolicy",
        "Bypass",
        r2.replace("{r1}", r1)
    ],
    capture_output=True,
    text=True).stdout

# эта конструкция нужна так по итогу после пути в 'file_name' есть некоторое количество "лишних" символов (в виде перечеркнутых квадратов)
res = ''.join(i for i in file_path if i.isprintable())
# открывает папку с выделенным файлом текущих обоев
subprocess.Popen(r'explorer /select,{res}'.replace("{res}", res))
→ Ссылка