Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage d'un
splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour par
HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des programmes
de démarrage de Windows l'execution n'est pas immédiate : elle dure plus de
30 secondes et en définitive le changement de l'image ne s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se fasse
tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne = HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage d'un
splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour par
HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des programmes
de démarrage de Windows l'execution n'est pas immédiate : elle dure plus de
30 secondes et en définitive le changement de l'image ne s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se fasse
tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne = HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage d'un
splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour par
HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des programmes
de démarrage de Windows l'execution n'est pas immédiate : elle dure plus de
30 secondes et en définitive le changement de l'image ne s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se fasse
tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne = HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour,
Je n'ai pas d'idée précise, mais comment as-tu déclarer ton exécutable pour
le lancement de l'application ?
Dans la gestion des démarages ( tous les programmes / démarrage ) ou dans la
base de registre ? ( dispo dans les windowscurretnversionrun etc )
Peut-être que le comportement de l'application serait différent ?
"Georges Peyre" a écrit dans le message de news:J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour,
Je n'ai pas d'idée précise, mais comment as-tu déclarer ton exécutable pour
le lancement de l'application ?
Dans la gestion des démarages ( tous les programmes / démarrage ) ou dans la
base de registre ? ( dispo dans les windowscurretnversionrun etc )
Peut-être que le comportement de l'application serait différent ?
"Georges Peyre" <grand.pere@orange.fr> a écrit dans le message de news:
mn.933b7d7a23a90f32.82226@orange.fr...
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour,
Je n'ai pas d'idée précise, mais comment as-tu déclarer ton exécutable pour
le lancement de l'application ?
Dans la gestion des démarages ( tous les programmes / démarrage ) ou dans la
base de registre ? ( dispo dans les windowscurretnversionrun etc )
Peut-être que le comportement de l'application serait différent ?
"Georges Peyre" a écrit dans le message de news:J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne =
HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Bonjour George
"Georges Peyre" a écrit dans le message de news:J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >>> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Il y a quelques mois, j'avais bricolé quelque chose de cette nature avec
WD11 et je n'avais pas rencontré de problème particulier.
Ceci dit, je n'affectais pas le nom du fichier image à partir d'une lecture
dans un fichier HF, mais directement soit, pour reprendre ton code.
*******************
WChemin est une chaîne
WRegFondEcran est une chaîne
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
// L'image que je veux placer en fond d'écran se trouve
// dans le dossier de l'exécutable
WRegFondEcran=ComplèteRep(fRepExe())+"Vostro_NB_1280x864_03.bmp"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam, 0)
FinProgramme()
*******************
Je viens de tester et ce code là marche parfaitement bien avec une valeur
chaîne placée dans la clé
"HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun", la donnée de cette
valeur étant le chemin complet du programme exécutable.
Comme tu dis que cela marche quant tu cliques sur un raccourci mais pas si
l'application est lancée en démarrage, cela doit sans doute venir d'un
problème de dossier.
Donc, jette un oeil dans la base de registres pour voir si le chemin complet
est bien enregistrée dans la valeur "Wallpaper".
A+
Val
stu e
Bonjour George
"Georges Peyre" <grand.pere@orange.fr> a écrit dans le message de news:
mn.933b7d7a23a90f32.82226@orange.fr...
J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :
Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >>> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Il y a quelques mois, j'avais bricolé quelque chose de cette nature avec
WD11 et je n'avais pas rencontré de problème particulier.
Ceci dit, je n'affectais pas le nom du fichier image à partir d'une lecture
dans un fichier HF, mais directement soit, pour reprendre ton code.
*******************
WChemin est une chaîne
WRegFondEcran est une chaîne
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
// L'image que je veux placer en fond d'écran se trouve
// dans le dossier de l'exécutable
WRegFondEcran=ComplèteRep(fRepExe())+"Vostro_NB_1280x864_03.bmp"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam, 0)
FinProgramme()
*******************
Je viens de tester et ce code là marche parfaitement bien avec une valeur
chaîne placée dans la clé
"HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun", la donnée de cette
valeur étant le chemin complet du programme exécutable.
Comme tu dis que cela marche quant tu cliques sur un raccourci mais pas si
l'application est lancée en démarrage, cela doit sans doute venir d'un
problème de dossier.
Donc, jette un oeil dans la base de registres pour voir si le chemin complet
est bien enregistrée dans la valeur "Wallpaper".
A+
Val
stu e
Bonjour George
"Georges Peyre" a écrit dans le message de news:J'ai essayé la commande exePriorité mais celà n'a rien changé
Cette procedure marche parfaitement en execution par clic sur un raccourci
et ne marche pas si l'application est lancée en demarrage de windows
Est-ce quelqu'un aurait une idée ?
Georges Peyre a écrit :Bonjour
J'ai ecris un projet qui execute les opérations suivantes pour changer
l'image de fond de l'ecran :
- Demarrage du projet ( ouverture du menu en hors ecran ) avec affichage
d'un splash screen
- Ouverture d'un fichier existant par HCreationSiInexistant contenant les
images des jours
- Recherche d'un enregistrement du fichier sur un critère de date du jour
par HLitRecherchePremier(..
- Mise à jour du registre avec le chemin de l'image
- Changement immédiat de l'image avec "AppelDLL32("user32",
"SystemParametersInfoA", uAction, uParam, &lpvParam, 0) "
Si j'exécute ce programme par un clic sur un raccourci l'execution est
pratiquement immédiate ( 1 à 2 secondes )
Par contre lorsque le lancement du programme est fait à partir des
programmes de démarrage de Windows l'execution n'est pas immédiate : elle
dure plus de 30 secondes et en définitive le changement de l'image ne
s'opère pas
Je comprends que mon projet est tributaire des autres lancements de
programmes executés par Windows
Comment agir sur le code Windev pour que l'exécution de mon projet se
fasse tout seul sans attendre
------
Voici le code exact
// on lit le fichier des fonds pour savoir si la date du jour concerne le
changement
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
sValRech est une chaîne >>> HConstruitValClé(fonds,moisjour,moisjour,jourjour)
HLitRecherchePremier(FONDS,MOISJOUR,sValRech)
SI HTrouve(FONDS) ALORS
WRegFondEcran = FONDS.CHEMIN
// CHANGEMENT DU PAPIER PEINT DANS LE REGISTRE
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
// ACTIVATION DU NOUVEAU PAPIER PEINT
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam,
0)
FinProgramme()
Cordialement
Il y a quelques mois, j'avais bricolé quelque chose de cette nature avec
WD11 et je n'avais pas rencontré de problème particulier.
Ceci dit, je n'affectais pas le nom du fichier image à partir d'une lecture
dans un fichier HF, mais directement soit, pour reprendre ton code.
*******************
WChemin est une chaîne
WRegFondEcran est une chaîne
ChJour est une chaîne
DateJour est un entier
MoisJour est une chaîne
JourJour est une chaîne
DateJourÚteVersEntier(DateSys())
ChJour=EntierVersDate(DateJour)
MoisJour=NumériqueVersChaîne(Milieu(ChJour,5,2), "2,0f")
JourJour=NumériqueVersChaîne(Milieu(ChJour,7,2), "2,0f")
WChemin = "HKEY_CURRENT_USERControl PanelDesktop"
// L'image que je veux placer en fond d'écran se trouve
// dans le dossier de l'exécutable
WRegFondEcran=ComplèteRep(fRepExe())+"Vostro_NB_1280x864_03.bmp"
SI RegistreEcrit (WChemin, "Wallpaper", WRegFondEcran) = Faux ALORS
Erreur("Erreur lors l'écriture dans la clé")
RETOUR
FIN
uAction est un entier
uParam est un entier
lpvParam est une chaîne ASCIIZ sur 255
// Ce code vous est offert par Beaussier en ligne
// Mettre uAction avec SPI_SETDESKWALLPAPER = 20
uAction = 20
uParam = 0
lpvParam = WRegFondEcran //Mettez le chemin de votre image bitmap
AppelDLL32("user32", "SystemParametersInfoA", uAction, uParam, &lpvParam, 0)
FinProgramme()
*******************
Je viens de tester et ce code là marche parfaitement bien avec une valeur
chaîne placée dans la clé
"HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun", la donnée de cette
valeur étant le chemin complet du programme exécutable.
Comme tu dis que cela marche quant tu cliques sur un raccourci mais pas si
l'application est lancée en démarrage, cela doit sans doute venir d'un
problème de dossier.
Donc, jette un oeil dans la base de registres pour voir si le chemin complet
est bien enregistrée dans la valeur "Wallpaper".
A+
Val
stu e
en le déplaçant dans le Dossier Démarrage automatiqueTous les utilisateurs
il n'y a plus de problèmes
en le déplaçant dans le Dossier Démarrage automatiqueTous les utilisateurs
il n'y a plus de problèmes
en le déplaçant dans le Dossier Démarrage automatiqueTous les utilisateurs
il n'y a plus de problèmes