-
Rafraichir le bureau
Je cherche désesperement un moyen de rafraichir le bureau par du code pour faire apparaitre une icône créée avec installshield mais qui n'apparait qu'apres un F5.
J'ai essayé plusieurs techniques:
tout d'abord avec SystemParametersInfo, j'arrive à changer le Wallpaper mais l'icône n'apparait toujours pas...
J'ai ensuite essayé de récupérer le handle du bureau (FindWindow(NULL, "Program Manager") marche mais pas GetDesktopWindow...) et de faire un sendmessage(hDesk, WM_KEYDOWN, VK_F5, 0) et là encore, pas d'icône...
Alors, est ce que quelqu'un a une autre idée???
Merci d'avance !!!
-
Bizarre, normalement, on devrait voir l'icone sans faire F5...
-
oui, je sais mais c'est un bug installshield...
Dans certain cas, l'icône est tres capricieux et n'apparait pas. Ca arrive surtout pour les icônes sur le bureau qui sont des raccourcis internet.
Si il y a des conditions pour leur création, des fois, ils n'apparaissent qu'apres un rafraichissement...
Et de toute façon, une fonctionde ce style peut quand meme etre utile, je pense, donc...
-
J'ai trouvé la solution tout seul comme un grand:
Pour le handle, il ne faut pas celui du bureau mais celui du "Program Manager"; on le trouve en faisant un FindWindow(NULL, "Program Manager") ou FindWindow("Progman", NULL). Ensuite, il faut utiliser un postmessage, pas un sendmessage. Et dans ce cas, ca marche !!