change wallpaper

after i change the regestry key for the wallpaper, how do i update it so that it changes on the desktop afterwards without rebooting?

Comments

  • [b][red]This message was edited by BitByBit_Thor at 2004-11-3 9:23:48[/red][/b][hr]
    : after i change the regestry key for the wallpaper, how do i update it so that it changes on the desktop afterwards without rebooting?
    :

    I searched the board and I think i found what you are looking for:
    http://www.programmersheaven.com/c/MsgBoard/read.asp?Board=14&MsgID=273101&Setting=A9999F0001

    Let me know if it was what you are looking for (I think the key is that a Update Message is sent!)

  • [b][red]This message was edited by Archer282 at 2004-11-3 19:27:40[/red][/b][hr]
    :its what i was looking for, but its just like every other examlpe i :found, it doesnt seem to work on Win M.E.

    ok, very odd, i found it this does work on Win M.E. but it only works with bitmaps, and this poses a problem, i need to be able set jpg's, and i really dont want to convert it to a bitmap. thats just pointless, and waste of space
  • : [b][red]This message was edited by Archer282 at 2004-11-3 19:27:40[/red][/b][hr]
    : :its what i was looking for, but its just like every other examlpe i :found, it doesnt seem to work on Win M.E.
    :
    : ok, very odd, i found it this does work on Win M.E. but it only works with bitmaps, and this poses a problem, i need to be able set jpg's, and i really dont want to convert it to a bitmap. thats just pointless, and waste of space
    :

    That's odd... it should work with any picture, but unfortunately, I'm not of much use here. I never worked with it...

    Greets...
    Richard

  • : after i change the regestry key for the wallpaper, how do i update it so that it changes on the desktop afterwards without rebooting?
    :

    ive been able to change the INI files for this, but never have figured out how to change the REG entries. i use VB5 and only can access the VB and VBA registry section. is this possible in VB5?
  • : : after i change the regestry key for the wallpaper, how do i update it so that it changes on the desktop afterwards without rebooting?
    : :
    :
    : ive been able to change the INI files for this, but never have figured out how to change the REG entries. i use VB5 and only can access the VB and VBA registry section. is this possible in VB5?
    :

    Through APIs only - and a user-unfriendly one at that.
  • : : : after i change the regestry key for the wallpaper, how do i update it so that it changes on the desktop afterwards without rebooting?
    : : :
    : :
    : : ive been able to change the INI files for this, but never have figured out how to change the REG entries. i use VB5 and only can access the VB and VBA registry section. is this possible in VB5?
    : :
    :
    : Through APIs only - and a user-unfriendly one at that.
    :

    I got this off of vb2themax, which doesnt seem to exist anymore, a long time ago

    [code]
    Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
    ByVal samDesired As Long, phkResult As Long) As Long
    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As _
    Long
    Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _
    "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _
    ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, _
    ByVal cbData As Long) As Long

    Const KEY_WRITE = &H20006 '((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or
    ' KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
    Const REG_SZ = 1
    Const REG_BINARY = 3
    Const REG_DWORD = 4

    ' Write or Create a Registry value
    ' returns True if successful
    '
    ' Use KeyName = "" for the default value
    '
    ' Value can be an integer value (REG_DWORD), a string (REG_SZ)
    ' or an array of binary (REG_BINARY). Raises an error otherwise.

    Function SetRegistryValue(ByVal hKey As Long, ByVal KeyName As String, _
    ByVal ValueName As String, value As Variant) As Boolean
    Dim handle As Long
    Dim lngValue As Long
    Dim strValue As String
    Dim binValue() As Byte
    Dim length As Long
    Dim retVal As Long

    ' Open the key, exit if not found
    If RegOpenKeyEx(hKey, KeyName, 0, KEY_WRITE, handle) Then
    Exit Function
    End If

    ' three cases, according to the data type in Value
    Select Case VarType(value)
    Case vbInteger, vbLong
    lngValue = value
    retVal = RegSetValueEx(handle, ValueName, 0, REG_DWORD, lngValue, 4)
    Case vbString
    strValue = value
    retVal = RegSetValueEx(handle, ValueName, 0, REG_SZ, ByVal strValue, _
    Len(strValue))
    Case vbArray + vbByte
    binValue = value
    length = UBound(binValue) - LBound(binValue) + 1
    retVal = RegSetValueEx(handle, ValueName, 0, REG_BINARY, _
    binValue(LBound(binValue)), length)
    Case Else
    RegCloseKey handle
    Err.Raise 1001, , "Unsupported value type"
    End Select

    ' Close the key and signal success
    RegCloseKey handle
    ' signal success if the value was written correctly
    SetRegistryValue = (retVal = 0)
    End Function
    [/code]
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories