Page 1 sur 2
Montrer et cacher les icônes du bureau
Publié : ven. 30/janv./2004 23:20
par Le Soldat Inconnu
Salut,
une chtite question :
Qlq'un connait-il le truc pour montrer et cacher les icônes du bureau ?
Merci d'avance

Publié : jeu. 05/févr./2004 23:11
par Invité
ben ya bien un truc facile a faire !!
tous les icones de bureau sont dans windows\bureau\ (sur win98)
ils ont pour extention *.LNK
si tu deplace un ou tous les *.lnk vers un autre dossier
automatiquement windows va les retirers du bureau !!!!
ils vont donc disparaitres !!!
si tu remet ces *.lnk dans windows\bureau\
ben ils reaparaissent comme par magie !!!
pour win 98 le path est windows\bureau\
pour win xp je sais pas , mais ça doit etre pareille !!!

Publié : ven. 06/févr./2004 15:27
par Proger73
Ya un truc plu perfectionner à faire mai ke j'ai jamais tenter, c'est de récupérer le handle du bureau (c'est comme un handle de fenêtre) puis aprè tu dessines dessus comme une fenêtre normale.
Sur ce je m'en vais tester ça

Publié : ven. 06/févr./2004 16:22
par Invité
Function GetdesktopWindow Lib "user32" () As Long
Récupère le handle de la fenêtre représentant la totalité de l'écran
Long - Handle de la fenêtre de bureau
Toutes les icônes sont dessinées sur cette fenêtre. Utilisée aussi pour l'écran de veille
après ça , reste à savoir quoi en faire de ce handle

Publié : ven. 06/févr./2004 20:01
par leoneo
Salut moi je fais comme cela :
Code : Tout sélectionner
;ATTENTION il est préférable de tout sauvegarder avant execution !!
; charge la dll
AniLib = OpenLibrary(1, "user32.dll")
;______________________________________________________________
barre = 0; Cache la barre des taches
;barre = 1; montre la barre des taches
Value = CallFunction(1, "FindWindowA", "Shell_TrayWnd", "")
a = CallFunction(1, "ShowWindow", Value, barre)
;______________________________________________________________
icone = 0 ; Cache les icones
;icone = 1 ; montre les icones
value = CallFunction(1, "FindWindowA", "Progman", "Program Manager")
a = CallFunction(1, "ShowWindow", value, icone)
@+Léo
Publié : ven. 06/févr./2004 20:18
par Chris
Bravo !!!
C'est un peu un piège si on laisse tout à 0, parce qu'on a plus ni barre de tâches ni icônes et qu'on est obligé de redémarrer,

, mais c'est vachement intéressant ce bout de code.
Puis de toute façon, on est prévenu!!! Faut tout sauvegarder
Chris

Publié : ven. 06/févr./2004 23:28
par Invité
Publié : sam. 07/févr./2004 16:43
par Le Soldat Inconnu
>> Dobro : Oui mais c'est pas celle la qui m'intéresse.
>> leoneo : bon, je ragrde ton code, merci
Publié : sam. 07/févr./2004 16:59
par Le Soldat Inconnu
Trop classe
par contre, tu n'aurait pas une idée pour récupérer l'info icône affiché ou cacher au démarrage du prog ? (je suis exigent, n'est ce pas

)
Publié : sam. 07/févr./2004 17:06
par Chris
Avec un fichier "*.ini" ou une clé dans la base de registre, ca irait pas ???
Chris

Publié : sam. 07/févr./2004 17:28
par Le Soldat Inconnu
ben, mon but est de faire un petit prog qui montre ou cache les icônes du bureau sans aucun fichier annexe ou clé de regitre.
Publié : sam. 07/févr./2004 17:42
par Chris
Je viens de regarder, la fonction ShowWindow_() renvoie une valeur si les icones sont cachés, et 0 si il sont visibles.
C'est peut-être là qu'il faut chercher !
Return Values
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
Chris

Publié : sam. 07/févr./2004 18:25
par Chris
Ce petit bout de code renvoie 1 si les icônes sont visibles, et 0 si ils sont cachés.
Code : Tout sélectionner
hDesktop = FindWindow_("Progman", "Program Manager")
Visibibity = IsWindowVisible_(hDesktop)
Debug Visibibity
Mais le problème, c'est que, même si tu caches les icônes avant de fermer Windows, ils redeviennent visibles quand tu redémarre. Il faudrait trouver la clé de registre qui contient la visibilité des icônes.
Chris

Publié : sam. 07/févr./2004 19:07
par Oliv
Puisque vous êtes sur les icones, je sais qu'il y a un moyen pour suprimmer le texte en dessous en leur donnant un nom spécial : Vous les connaissez ?

Publié : sam. 07/févr./2004 20:26
par Le Soldat Inconnu
oui, je l'ai mais pas ici, faut que je les ramène.
sinon, c'est intéressant, ce que tu dit, Chris. je part sur ce principe.
donc j'obtient ceci :
Code : Tout sélectionner
Bureau = FindWindow_("Progman", "Program Manager")
If IsWindowVisible_(Bureau) ; Si les icônes sont visibles
ShowWindow_(Bureau, 0) ; Cache les icônes
Else
ShowWindow_(Bureau, 1) ; Montre les icônes
EndIf
sinon, j'ai essayé de passer par showwindow_( pour afficher le bureau mais ce fut un échec total.
pour le moment je reste avec le code que j'ai mis dans truc et astuces mais ce code est trop lent du fait que par mon système, chaque fenêtre se réduit avec une animation. alors la ausi, si quelqu'un à une idée, je dis pas non.
le code avec le principe pour afficher le bureau est le suivant :
Code : Tout sélectionner
Procedure ShowDesktop()
hWnd.l = FindWindow_( 0, 0 )
While hWnd <> 0
If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE
If GetwindowLong_(Hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW
txt.s = Space(256)
GetWindowText_(hwnd, txt, 256)
If txt <> "" : ShowWindow_( hWnd, #SW_SHOWMINIMIZED ) : EndIf
EndIf
EndIf
hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
Wend
EndProcedure
ShowDesktop()
Bureau = FindWindow_("Progman", "Program Manager")
If IsWindowVisible_(Bureau) ; Si les icônes sont visibles
ShowWindow_(Bureau, 0) ; Cache les icônes
Else
ShowWindow_(Bureau, 1) ; Montre les icônes
EndIf
je vous laisse constater la lenteur du bazar