VB获取桌面背景图片

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:20:47
我想用VB编程获得XP的当前桌面背景图片可又不知道系统的桌面图片在什么地方
有哪位大侠可以帮帮我告诉我怎样才能获得桌面背景图片,不是改变桌面
如果用API应该怎么用呀
谢谢你
不过我不知道SystemParametersInfo 的每一项参数的用法 该怎样用它获得有没有实例或详细一点的说明
好像SystemParametersInfo不能获得桌面背景图片的具体地址和文件名只是设置一些系统属性之类的东西

MsgBox "当前桌面背景图片文件名是 " & CreateObject("WScript.Shell").RegRead("HKCU\Control Panel\Desktop\Wallpaper")

使用 SystemParametersInfo 这个API

这个API的使用, 你用 VB 的 API 浏览器查一下,就可以了

貌似 SystemParametersInfo 只能用 SPI_SETDESKWALLPAPER 参数设置桌面背景,而无法获取

可以用注册表相关 API 获取 HKCU\Control Panel\Desktop\Wallpaper 的值

Private Declare Function SHGetValueSZ Lib "shlwapi.dll" Alias "SHGetValueA" (ByVal hkey As Long, ByVal pszSubKey As String, ByVal pszValue As String, ByRef pdwType As Long, ByVal pvData As String, ByRef pcbData As Long) As Long

Private Const HKEY_CURRENT_USER = &H80000001
Private Const REG_SZ = 1 ' Unicode nul terminated string

Private Sub Form_Load()
Dim s As String * 255

SHGetValueSZ HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper", REG_SZ, s, Len(s)
MsgBox s
End Sub

SystemPa