Bild aus dem I-Net laden, speicher und als Desktop-Hintegrundbild verwenden.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von NeuroParadise.

    Bild aus dem I-Net laden, speicher und als Desktop-Hintegrundbild verwenden.

    Hallo zusammen..
    ich will ein Bild aus dem Internet laden, abspeichern und dann dieses als Wallpaper für den Desktop benützen... bis jetzt gehe ich so vor:

    lasse ein bild aus dem Internet in meiner Picturebox anzeigen, dieses Bild speichere ich wie folgt:

    VB.NET-Quellcode

    1. Private Sub Batton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnloadpic.Click
    2. Dim bmp As Bitmap
    3. bmp = PicBox.Image
    4. bmp.Save("C:\...\new pic.png", System.Drawing.Imaging.ImageFormat.Png)


    danach versuche ich das Bild als Hintegrund einzustellen

    VB.NET-Quellcode

    1. Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer
    2. Private Const SETDESKWALLPAPER As Integer = 20
    3. Private Const UPDATEINIFILE As Integer = &H1
    4. Private Const SPIF_SENDWININICHANGE As Integer = &H2
    5. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    6. SystemParametersInfo(SETDESKWALLPAPER, 0, "C:\...\new pic.png", UPDATEINIFILE)
    7. End Sub

    leider ändert sich das Bild nicht... wenn ich ein Bild von der Festplatte nehme (also nicht mit VB gespeichert) dann klappt alles wunderbar, nur die Bilder die mit VB abgespeichert worden sind, funtionieren nicht..
    weiß jemand villeicht eine Lösung oder mir vlt. einen Tip geben kann woran es liegen könnte...

    Danke im Voraus
    MFG NeuroParadise

    joniator schrieb:

    Liegt vll daran, dass der hintergrund neu geladen werden muss.

    Wie neu geladen? Wie meinst du das?

    mit dem Code

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. SystemParametersInfo(SETDESKWALLPAPER, 0, "C:\...\new pic.png", UPDATEINIFILE)
    3. End Sub

    lade ich den hintegrund neu... und wie oben schon gesagt, wenn ich bilder von der Festplatte nehme, klappt alles, nur wenn ich die Bilder die ich mit VB abgespeichert habe auswähle, ändert sich nicht....
    Nabend :P


    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByVal pncMetrics As String, ByVal fuWinIni As Integer) As Integer
    4. Private Const SPI_SETDESKWALLPAPER = 20
    5. Private Const SPIF_UPDATEINIFILE = &H1
    6. Private Const SPIF_SENDWININICHANGE = &H2
    7. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    8. SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\Users\zeus\Desktop\DOWNLOADS\pictures.fantasy\Space107.jpg", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
    9. End Sub
    10. End Class


    LG Andre.........

    Der geht ! :!: Nur mit png nicht :!:

    DER GEHT MIT (( JPG )) UND (( BMP )) -- ABER NICHT MIT PNG :!:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TVX“ ()

    Hallo,

    @ TVX: danke hast mir serhr geholfen... :thumbup:

    VB.NET-Quellcode

    1. (...........................Or SPIF_SENDWININICHANGE)

    diesen Teil hat mein Code vermisst....., jetzt funkt alles prima... (und hast recht, mit "png" läuft nicht, nur mit jpg...) :thumbsup:

    Danke...

    MFG
    Neuro