【问题标题】:Where is the current wallpaper's path stored in Windows 10? [closed]当前壁纸的路径存储在 Windows 10 中的什么位置? [关闭]
【发布时间】:2015-12-31 18:31:43
【问题描述】:

我有一个包含多个壁纸包的文件夹,这些壁纸包设置为在 Windows 10 上随机播放为我的桌面壁纸。我正在尝试编写一个 Python 脚本,该脚本将从其源中检索或删除当前显示的壁纸,因此我需要当前壁纸。谁能帮帮我?

编辑:桌面背景是通过 Windows 10 上的设置应用程序管理的,所以我想如果我可以在注册表中找到设置应用程序,我可以找到壁纸。有人知道那是哪里吗?

【问题讨论】:

    标签: python windows python-2.7 wallpaper


    【解决方案1】:

    它存储在位于此处的注册表项中:

    HKEY_CURRENT_USER\控制面板\桌面\壁纸

    为了查看注册表项,您可以

    • 输入 Win+r
    • 输入注册表
    • 回车

    【讨论】:

    • Desktop 下没有Wallpaper 文件夹,可能是Windows 10 不同?
    • @Bayya,相当于文件夹的注册表是一个“键”。文件名的等价物是“值”,值类型(例如REG_SZ)扮演文件扩展名的角色。但是,与文件系统路径不同,注册表路径只能包含键,不能包含值。您不能直接打开一个值。您打开一个键并枚举其值。有时您会看到人们在路径中包含值名称,但这并不是真正的有效路径。在这种情况下,路径为HKCU\Control Panel\Desktop,值为Wallpaper
    • 也就是说,注册表位置是一个实现细节。请改用 API:user32 = ctypes.WinDLL('user32', use_last_error=True);SPI_SETDESKWALLPAPER = 0x14;SPIF_UPDATEINIFILE = 1;SPIF_SENDCHANGE = 2;wallpaper_path = u'C:\\Absolute\\Path\\To\\Wallpaper.jpg';if not user32.SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, wallpaper_path, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE): raise ctypes.WinError(ctypes.get_last_error())。请注意,图像路径必须是 unicode 字符串。我想使用 [r]aw 字符串,但 Python 2 处理“原始”unicode 字符串中的 \u\U
    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多