Newsgroup: it.comp.lang.visual-basic
Titolo: Sfondo del desktop .JPG

Salve a tutti,
volendo scrivere un piccolo programmino per cambiare lo sfondo del mio
desktop ad intervalli fissi, ho cercato su internet qualcosa che mi
permettesse di cambiare l'immagine di sfondo del desktop. Su un sito (che fu
proprio qualcuno su quest NG a suggerirmi per altre ragioni... GRAZIE! ^__^)
ho trovato questo esempio:
Private Declare Function SystemParametersInfo Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long,
lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_UPDATEINIFILE = &H1
Private Const NOMESFONDO = "SFONDO1.BMP"
Private Sub Main()
    Dim PATHSFONDO As String
    PATHSFONDO = App.Path & "\" & NOMESFONDO
    SystemParametersInfo ByVal SPI_SETDESKWALLPAPER, ByVal 0&, ByVal
PATHSFONDO, SPIF_UPDATEINIFILE
End Sub
Il punto è che funziona solo con i file .BMP!!! Qualcuno sa se posso
modificarlo in modo che supporti anche i JPG? Ho provato a usare un file JPG
ma non ha funzionato... Da qualche altra parte ho trovato un esempio che
convertiva la JPEG in Bitmap col metodo SavePicture ma mi sebra una
soluzione piuttosto arrangiata...
GRAZIE
Antonio Mirarchi

 permettesse di cambiare l'immagine di sfondo del desktop.
Se non usi l'ActiveDesktop (ed č meglio che non lo usi :)) non puoi
impostare immagini diverse dalle BMP.
Non vedo quale sia il problema di convertire i jpg in bmp.
Puoi o convertirle tutte in bmp a priori, oppure meglio ancora butti tutte
le immagini che vuoi (bmp, jpg e gif) nella tua dir e al momento di
impostare lo sfondo le converti in bmp, magari usando sempre lo stesso nome
(es. $$img.bmp) e usare questa.
Convertirlo č piuttosto banale: dato che SavePicture salva BMP, puoi fare
Call SavePicture(LoadPicture(myPicJpg), "$$img.bmp")
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 Non vedo quale sia il problema di convertire i jpg in bmp.
Bhè... Mi ricordo che all'epoca di WIN98 utilizzare una JPEG come sfondo
invece che che una bitmap ti faceva risparmiare un bel pò di RAM...
All'epoca dei Pentium II 64 MB di RAM era importante ;-) Non so se e quanto
valga lo stesso con 512 MB....
Grazie della tua risposta, comunque!
Antonio Mirarchi

 invece che che una bitmap ti faceva risparmiare un bel pò di RAM...
Impossibile.
Quando una bitmap è decompressa in memoria la RAM occupata è esattamente la
stessa (tant'è che Win internamente usa appunto una BitMap).
Potrebbe cambiare qualcosa se l'immagine ha diverse profondità di colore.
Solo che probabilmente l'ActiveDesktop si ciuccia la memoria risparmiata :)


 Grazie della tua risposta, comunque!
era importante per i dischi. con quei pc c'erano dischi da 500m-2g.
conosco una persona che su 4g aveva 100m liberi perche' salvava sempre e
solo in bmp...
-- 
ciao, j.
http://www.sundaysw.com/google.gif

 impostare immagini diverse dalle BMP.
Questo suggerimento non l' mai capito... Ho sempre avuto l'Active Desktop
attivato e la cosa non mi ha *mai* causato il piů piccolo problema...
E non capisco quali terribili conseguenze potrebbe portare... :-P
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

 stessa (tant'è che Win internamente usa appunto una BitMap).
Chiedo scusa per la mia incompetenza :-(
Antonio Mirarchi

 Chiedo scusa per la mia incompetenza :-(
E di che?
:)


 E non capisco quali terribili conseguenze potrebbe portare... :-P
Boh, io le prime e uniche volte che l'ho usato si inchiodava ogni 3x2
chiedendo di essere riavviato, oltre alle risorse che si ciucciava e al
tempo di caricamento aggiuntivo.
Questo su vecchi PC, poi ho preso l'abitudine di disabilitarlo :)


 tempo di caricamento aggiuntivo.
Sotto che SO?
Perché sotto il win2k che ho qui l'attivazione dell'AD si porta via
circa 500 KB di RAM... 


 circa 500 KB di RAM...
Si? Bhè... Speriamo che sia così anche con WINXP visto che è sempre
attivo...
Antonio Mirarchi

 attivo...
Suppongo di sě.
