Modification fond d'écran

cs_breton51 Messages postés 78 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 15 novembre 2018 - 10 sept. 2012 à 15:20
 Utilisateur anonyme - 28 sept. 2012 à 02:28
Bonjour,

J'ai un petit problème avec l'api pour modifier l’apparence de l'image du bureau.

le code que j'utilise est:
    Public Enum PositionImage
        Centrer
        Mosaique
        Etirer
    End Enum

    Private Declare Function SystemParametersInfo Lib "user32.dll" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer

    Public Sub FixeNouveauPapierPein(chemin As String, TypePosition As PositionImage)
        Dim TileWallpaper As String = "0"
        Dim WallpaperStyle As String = "0"

        Select Case TypePosition

            Case PositionImage.Centrer
                TileWallpaper = "0"
                WallpaperStyle = "0"
            Case PositionImage.Etirer
                TileWallpaper = "2"
                WallpaperStyle = "0"
            Case PositionImage.Mosaique
                TileWallpaper = "0"
                WallpaperStyle = "1"
        End Select

        Registre.AjoutKlefEtVal(HOMEKEYS.CURRENT_USER, "Control Panel\Desktop", "TileWallpaper", TileWallpaper, Registre.TYPE_DE_CLEF.CHAINE)
        Registre.AjoutKlefEtVal(HOMEKEYS.CURRENT_USER, "Control Panel\Desktop", "WallpaperStyle", WallpaperStyle, Registre.TYPE_DE_CLEF.CHAINE)

        SystemParametersInfo(SPI_SETDESKWALLPAPER, 2, chemin, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

    End Sub



L'image est bien charger comme fond d'écran.
Les attributs sont bien sauvegarder dans la base de registre(Centrer,Etirer,Mosaique).
Les attributs sont bien pris en compte dans la fenêtre de propriétés de l'affichage.

Le Pb est que l'image est tout le temps afficher en mode Centrer

Ci vous avez une solution ou une piste car la je sèche
Merci.

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 sept. 2012 à 18:53
Bonjour,
Ta déclaration d'énumération est incomplète.
Des constantes non initialisées sont = 0
Ouvre ton aide VB6 sur le mot Enum, s'il te plait.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_breton51 Messages postés 78 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 15 novembre 2018
10 sept. 2012 à 20:53
Bonjour,

Merci pour ta réponse. j'ai oublier de préciser que je suis sous vb.net avec vb express 2010 pour les enum il n'y a pas de problème le branchement se fait bien dans le select

pour les valeur des constantes j'ai utilser:

Public Const SPI_SETDESKWALLPAPER = 20
Public Const SPIF_UPDATEINIFILE = &H1
Public Const SPIF_SENDWININICHANGE = &H2

le pb persiste toujours.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 sept. 2012 à 21:01
Tiens ! sujet passé de VB6 à VB.Net sans que l'on voie comment ?.
Bon ...
Je ne connais rien des déclarations d'énumérations en VB.Net.
Je vois toutefois mal le lien entre la déclaration faite dans ton tout premier message et la précision que tu apportes maintenant. Mais bon ... cela doit être dû à mon ignorance totale de VB.Net, et à ma folie absolue hein ...


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_breton51 Messages postés 78 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 15 novembre 2018
10 sept. 2012 à 21:10
en fait il a toujours été question de .net

le problème est qu'il n'y a rien dans le framwork pour la gestion de l'image du bureau, ci qui m'oblige a passer par les api.

pour les enum en .net si aucune précision n'est donné les valeurs des constantes commence a 0 puis s’incrémente automatiquement, c'est plus rapide lors du codage.

si tu vois autre chose.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_breton51 Messages postés 78 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 15 novembre 2018
25 sept. 2012 à 15:33
Petit up si quelqu’un a une idée...
0
Utilisateur anonyme
28 sept. 2012 à 02:28
Heil breton51

Normalement la couleur du texte devrait générer la bonne réaction.

Chez-nous les bretons on les mange. Ce sont des biscuits salés que l'on mange avec la soupe ou des hors-d'oeuvres.
0
Rejoignez-nous