我在几个地方读到可以将桌面墙纸设置为 HTML 文档。有没有人成功地以编程方式改变它?

下面的 VB6 片段帮助我为 BMP 设置了一些东西,但是当我尝试将它用于 HTML 时,我得到了一个漂亮的蓝色背景,没有别的。

Dim reg As New StdRegistry

Public Function CurrentWallpaper() As String
    CurrentWallpaper = reg.ValueEx(HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper", REG_SZ, "")
End Function

Public Sub SetWallpaper(cFilename As Variant)
    reg.ClassKey = HKEY_CURRENT_USER
    reg.SectionKey = "Control Panel\Desktop"
    reg.ValueKey = "Wallpaper"
    reg.ValueType = REG_SZ
    reg.Default = ""
    reg.Value = cFilename
End Sub

Public Sub RefreshDesktop()
    Dim oShell As Object
    Set oShell = CreateObject("WScript.Shell")
    oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
End Sub

也许还需要一些其他设置。有任何想法吗?

最佳答案

我不确定是否有官方 API,但如果您对此深信不疑,您可以使用 Sysinternal 的 Process Monitor 并查看当您通过 UI 设置 HTML 桌面背景时会触及哪些注册表项。然后你只需要在你的代码中重复这些编辑。但是,在向后/向前兼容性方面,API 调用会更可取。

关于vb6 - Windows 壁纸 : not just BMPs?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/80307/

10-13 02:33