IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Changer de fond d'écran sous Windows


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2013
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Changer de fond d'écran sous Windows
    Bonjour,

    J'aimerais faire un petit programme en C qui changerait simplement le fond d'écran quand on l'exécuterait. Mais je ne trouve pas de fonction qui marche ...

    Si c'est possible et que quelqu'un a une idée, merci d'avance.

    PS : Je programme avec code::block et je suis sous Windows 8.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Cette question a déjà été posée par le passé, tu trouveras une réponse ici:
    changer de fond d'écran
    Changer fond d'écran.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2013
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Ah oui merci !

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2013
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Peut être j'utilise mal la fonction, mais ce code ne fonctionne pas chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
    #include <stdlib.h>
    #include <Windows.h>
     
    int main()
    {
     
        char chemin[] = "fond.bmp";
        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "fond.jpg", SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
        return 0;
    }
    avec l'image fond.bmp dans le même dossier que l'executable...
    Y a t-il quelquechose que j'ai mal fait ?

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Hello,

    Oui, relis toi : tu as déclaré une chaine « fond.bmp » mais tu as passé « fond.jpg » à ta fonction, au lieu de passer le nom du tableau.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2013
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    A oui effectivement... Mais le vrai problème ne doit pas venir de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, chemin, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
    En rectifiant le ligne de code, le programme enlève le fond d’écran actuel et le remplace par un fond tout gris. Peut être que les paramètre de cette fonction à changé sous Windows 8 ...

    Et en changeant l'image de manière normal (graphiquement) , ça marche bien donc le problème n'est pas de l'image.

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 371
    Points : 23 626
    Points
    23 626
    Par défaut
    Citation Envoyé par 2poules Voir le message
    En rectifiant le ligne de code, le programme enlève le fond d’écran actuel et le remplace par un fond tout gris. Peut être que les paramètre de cette fonction à changé sous Windows 8 ...
    Il est probable que la fonction n'aille pas chercher ton fichier où tu le crois, et qu'elle ne le trouve pas. Pour le savoir, essaie d'examiner les codes de retour :

    Return value

    Type: BOOL

    If the function succeeds, the return value is a nonzero value.

    If the function fails, the return value is zero. To get extended error information, call GetLastError.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2013
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    J'ai testé le code de retour de la fonction, et elle indiquait une erreur.
    En me renseignant sur le site de microsoft, j'ai vu qu'il fallait indiquer le chemin COMPLET de l'image, et en indiquant donc le chemin
    absolu ça marche !
    Merci beaucoup pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer couleur fond d'écran Windows 7
    Par Il_TiRaNNo dans le forum VBScript
    Réponses: 1
    Dernier message: 02/06/2010, 12h46
  2. Image fond d'écran sous formulaire
    Par phinks94 dans le forum IHM
    Réponses: 4
    Dernier message: 19/06/2008, 11h09
  3. Changer couleur fond d'écran xp
    Par vinsanseau dans le forum VBScript
    Réponses: 12
    Dernier message: 16/11/2007, 10h04
  4. Changer le fond d'écran
    Par GPZ{^_^} dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/03/2007, 16h31
  5. [WIN32][D7] Changer de fond d'écran windows
    Par Herk77 dans le forum Delphi
    Réponses: 9
    Dernier message: 25/10/2006, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo