Changer image du bureau avec fonction jpg_to_bmp incluse donc change le fond d’ecran avec du bmp ou jpg (systemparamet

Contenu du snippet

Voici une procédure pas trés complexe, qui m'as demandé une belle journée tout de même juste à cause de pouvoir changé l'image du bureau avec une image en .jpg !

cette procédure utilise plusieur procédure intéréssante, dont la convertion bmp vers jpg et l'ajout d'objet !

bonne pioche !

Source / Exemple :


Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
                        (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SETDESKWALLPAPER = 20
Private Const SPIF_SENDWININICHANGE = &H2
Private Const SPIF_UPDATEINIFILE = &H1

Public Function Change_bureau_image(le_fichier$)
 If LCase$(Right$(le_fichier$, 4)) = ".jpg" Then
  a$ = left_moins$(le_fichier$, 4) + ".bmp"
  Jpg_to_bmp le_fichier$, a$ ', FENia.Picture1
  SystemParametersInfo SPI_SETDESKWALLPAPER, 0, a$, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE
  Kill a$
 Else
  SystemParametersInfo SPI_SETDESKWALLPAPER, 0, le_fichier$, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE
 End If
End Function

Public Function left_moins(chaine$, nombre_de_caractere_en_moins_a_enlever_a_droite&) As String
 If chaine$ = "" Then Exit Function
 left_moins = Left$(chaine$, Len(chaine$) - nombre_de_caractere_en_moins_a_enlever_a_droite&)
End Function

Public Function right_moins(chaine$, nombre_de_caractere_en_moins_a_enlever_a_gauche&) As String
 If chaine$ = "" Then Exit Function
 right_moins = Right$(chaine$, Len(chaine$) - nombre_de_caractere_en_moins_a_enlever_a_gauche&)
End Function

Public Sub Jpg_to_bmp(fichier_source$, fichier_destination$)
 ' il est impossbile de la même façon d'utiliser SavePicture pour faire un Bmp_to_jpg
 ' voir module z_Bmp_to_jpg

'-------- je selectionne une form charger, n'importe laquelle ---------
Dim ma_form As Form, Form_selectioné As Boolean
For Each ma_form In VB.Forms: Form_selectioné = True: Exit For: Next ma_form
If Form_selectioné = False Then MsgBox "Il faut au moins une Form charger pour pouvoir utiliser la procédure Jpg_to_BMP !"

'---------------------------------------------------------------------
 
 
'---- je créer un nouveau objet picture pour pouvoir m'en servir------
 Dim picture_temp As VB.PictureBox
 Objet_add picture_temp, PictureBox_, ma_form, 120, 600, 1335, 285, False
'---------------------------------------------------------------------

 picture_temp.Picture = LoadPicture(fichier_source$)
 SavePicture picture_temp.Picture, fichier_destination$

 Objet_remove picture_temp, ma_form
 
End Sub

et la suite des procédure là :
http://www.vbfrance.com/codes/CREATION-SUPPRESSION-DYNAMIQUE-8217-OBJETS-TEXTBOX-LISTBOX-COMBOBOX_54717.aspx

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.