LoganShile (Ex-Member)
Expert
Messaggi: 350
Iscritto: 27/03/2009
|
ho provato così...
Public Class Form1
<dllImport("user32.dll", EntryPoint:="SystemParametersInfo")> _
Public Shared Function SystemParametersInfo(ByVal uiAction As UInteger, ByVal uiParam As UInteger, ByVal pvParam As UInteger, ByVal fWinIni As UInteger) As Boolean
End Function
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Random, ByVal fuWinIni As Long) As Long
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_UPDATEINIFILE = &H1
Private Const NOMESFONDO = "C:\Windows\Web\Wallpaper\img9.jpg"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim PATHSFONDO As String
PATHSFONDO = "C:\Windows\Web\Wallpaper\"
End Sub
End Class
Se non và cosi non so come fare
|
|
Jeremy (Normal User)
Pro
Messaggi: 134
Iscritto: 08/02/2009
|
|
|
LoganShile (Ex-Member)
Expert
Messaggi: 350
Iscritto: 27/03/2009
|
ok...ci sono
C'è solo un problema...Adesso io cambio lo sfondo cliccando su un button1, ma vorrei cambiarlo tramite un Timer ogni 60 secondi (60.000 millisecondi) ma non so cosa ne come fare...
Ultima modifica effettuata da LoganShile il 20/06/2009 alle 21:42 |
|
marco_grillo (Member)
Rookie
Messaggi: 33
Iscritto: 22/04/2009
|
Semplice...
Ipotizziano che nel form ci sia una textbox per il percorso del file ed un bottone per cambiare il desktop:
Codice sorgente - presumibilmente VB.NET |
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 Const SPI_SETDESKWALLPAPER = 20 Const SPIF_UPDATEINIFILE = &H1 Public filename As String Private Sub TextBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDoubleClick OpenFileDialog1.ShowDialog() TextBox1.Text = OpenFileDialog1.FileName End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, TextBox1.Text, SPIF_UPDATEINIFILE) End Sub
|
Basta cliccare 2 volte la textbox per aprire il menù e per scegliere l'immagine poi basta cliccare sul bottone ed il gioco è fatto
|
|
Jeremy (Normal User)
Pro
Messaggi: 134
Iscritto: 08/02/2009
|
Postato originariamente da LoganShile:
ok...ci sono
C'è solo un problema...Adesso io cambio lo sfondo cliccando su un button1, ma vorrei cambiarlo tramite un Timer ogni 60 secondi (60.000 millisecondi) ma non so cosa ne come fare... |
Dai su .... un pò di fantasia .... inserisci un timer nel form ..... e nella gestione dell'evento Tick ...... dai che ce la puoi fare ....
|
|
LoganShile (Ex-Member)
Expert
Messaggi: 350
Iscritto: 27/03/2009
|
Allora, il codice eccolo, completo e funzionante ma non come speravo, riscritto da 0 e modificato un pò:
Public Class Form1
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
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = &H1
Public filename As String
Private Sub TextBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDoubleClick
Text = Visible = False
OpenFileDialog1.ShowDialog()
TextBox1.Text = OpenFileDialog1.FileName
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, TextBox1.Text, SPIF_UPDATEINIFILE)
End Sub
End Class
Ho provato a mettere il Timer e nella proprietà Interval a mettere 5000 ( 5 secondi ), ma non mi cambia lo sfondo...Per adesso non fa altro che cambiarlo ad ogni evento click del Button1...
|
|
Jeremy (Normal User)
Pro
Messaggi: 134
Iscritto: 08/02/2009
|
Ciao ...nel progettino allegato, ho modificato il codice copiato dall'articolo che ti ho linkato qualche post più su .... cambia il percorso delle immagini, premi su start ed aspetta una decina di secondi.
Ciao
|
|
LoganShile (Ex-Member)
Expert
Messaggi: 350
Iscritto: 27/03/2009
|
Volendo posso copiare il sorgente del timer per usarlo io vero ???
|
|