Visual basic 2008 - Achtergrond

Status
Niet open voor verdere reacties.

Senquell

Gebruiker
Lid geworden
3 mrt 2009
Berichten
139
Hey,

is er een code waarmee je met een druk op de knop je achtergrond kan veranderen?
zonder dat je moet aageven waar de foto is opgeslagen.
Maar de foto staat wel in Resources.
 
Me.Backgroundimage = My.Resources.*bg*

waarbij je *bg* door de naam van de afbeelding vervangt ;)
 
Me.Backgroundimage = My.Resources.*bg*

waarbij je *bg* door de naam van de afbeelding vervangt ;)

Bedankt voor je hulp.

Dat is niet wat ik bedoelde, maar leuk om te weten.
Ik wil graag mijn desktop achtergrond veranderen.
 
ow zo :p

even zoeken ;)

EDIT:

zet helemaal bovenaan (dus voor public class o.i.d.):
Imports System
Imports System.Runtime.InteropServices

Direct na public class Form1 o.i.d. zet je:
Public Shared SPI_SETDESKTOPWALLPAPER As Integer = 20
Public Shared SPIF_UPDATEINIFILE As Integer = 1
Public Shared SPIF_SENDWININICHANGE As Integer = 2


dan zet je in de sub (button_click):
Dim Img As Image = My.Resources.*resname*
Img.Save(Application.StartupPath & "/wallpaper.jpg", Imaging.ImageFormat.Jpeg)
SystemParametersInfo(SPI_SETDESKTOPWALLPAPER, 0, Application.StartupPath & "/wallpaper.jpg", _
(SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE))

waarbij je *resname* vervangt door de naam van de afbeelding ;)

en na End Sub zet je:

Private Declare Sub SystemParametersInfo Lib "User32.dll" Alias "SystemParametersInfoA" (ByVal action As Integer, _
ByVal iparam As Integer, ByVal vparam As String, ByVal opt As Integer)
 
Laatst bewerkt:
Rex 1241, jij bent mijn held! Haha,
echt super super super bedankt!!!

een vraagje, ben je wezen googelen?
of heb je nog een leuk VB.net site.
 
doe nie

volgen mij ligt het aan mij of omdat ik XP pro heb maar wat ik ook voor 1 wallpaper heb hij is
steeds blauw:eek:
mischien weet iemand de oplossing???
ofwerkt het alleen in visual basic en niet in VB.net HELP!!!
 
Laatst bewerkt:
volgen mij ligt het aan mij of omdat ik XP pro heb maar wat ik ook voor 1 wallpaper heb hij is
steeds blauw:eek:
mischien weet iemand de oplossing???
ofwerkt het alleen in visual basic en niet in VB.net HELP!!!

Ehm ligt aan jou windows.
Dit is een code voor VB.net..
 
werkt niet

khe andere comp met Xp home edition doet hij het ook niet!!!:evil:
 
En als ik hem nou wil veranderen, maar ik heb de afbeelding niet in recources staan. Maar ik weet wel waar de afbeelding staat.(Het pad) Wat moet ik dan veranderen om het goed te laten werken?
 
dan zet je in de sub (button_click):
Dim Img As Image = My.Resources.*resname*
Img.Save(Application.StartupPath & "/wallpaper.jpg", Imaging.ImageFormat.Jpeg)
SystemParametersInfo(SPI_SETDESKTOPWALLPAPER, 0, Application.StartupPath & "/wallpaper.jpg", _
(SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE))

waarbij je *resname* vervangt door de naam van de afbeelding ;)

wordt dan:

SystemParametersInfo(SPI_SETDESKTOPWALLPAPER, 0, *pad v. afb*, _
(SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE))

*pad v. afb* is dan het pad van de afbeelding
 
Hartelijk dank!

Ik zit nu even op een andere pc, dus kan nu niet uitproberen... Maar zal ik morgen zeker even doen :)
 
Ik krijg een error ( kan dus niet debuggen)
"Name 'SystemParametersInfo' is not declared."

Enig idee wat ik fout doe?

Edit: Ik gebruik trouwens visual basic 2008
En sorry van dubbelpost
 
Laatst bewerkt:
Ja dat komt als je alleen deze post hebt gebruikt, misschien even de gequote post bekijken en daar het nodige veranderen ;)
 
Edit: Ik heb het al gevonden, Danku zeer! Ik was vergeten aan het eind dat ene toe te voegen (a)
 
Laatst bewerkt:
srry maar ij mij werkt hij nog niet ik krijg geen error fzo hij geeft niks aan alleen m'n berualad is blauw
 
Ik denk dat jouw probleem is dat je pc de achtergrond niet kan vinden. Het beste (denk ik) is om de afbeeldingen in een aparte map met een zo kort mogelijk pad te zetten.

Aangepaste code:
zet helemaal bovenaan (dus voor public class o.i.d.):
Code:
Imports System
Imports System.Runtime.InteropServices

Direct na public class Form1 o.i.d. zet je:
Code:
Public Shared SPI_SETDESKTOPWALLPAPER As Integer = 20
Public Shared SPIF_UPDATEINIFILE As Integer = 1
Public Shared SPIF_SENDWININICHANGE As Integer = 2


dan zet je in de sub (button_click):
Code:
Dim Img As Image ="*Orgineel pad*"
Img.Save(Application.StartupPath & "C:/wallpaper.jpg", Imaging.ImageFormat.Jpeg)
SystemParametersInfo(SPI_SETDESKTOPWALLPAPER, 0, Application.StartupPath & "C:/wallpaper.jpg", _
(SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE))

en na End Sub zet je:

Code:
Private Declare Sub SystemParametersInfo Lib "User32.dll" Alias "SystemParametersInfoA" (ByVal action As Integer, _
ByVal iparam As Integer, ByVal vparam As String, ByVal opt As Integer)
 
Laatst bewerkt door een moderator:
Bedankt maar...
sorry ik gebruik in plaats van de code in de sub
deze code:
Code:
OpenFileDialog1.Show

SystemParametersInfo(SPI_SETDESKTOPWALLPAPER, 0, OpenFileDialog1.Filename, _
(SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE))
deze heb ik uit hoofd geschreven dus...
Dus er zou niks fout kunnen gaan??!!??
op normale Xp werktie bij mij ook niet??!!


groetjes
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan