Page 1 sur 1
[R] Masquer/afficher les icônes du bureau W7
Posté : lun. 23 mai 2016 19:58
par AzinWxon
Bonjour,
Je désire écrire un script qui masque/affiche les icônes du bureau W7 (lancement par raccourci clavier). Je suis un débutant AutoIt et sur les conseils d'un membre émérite du forum j'ai testé les scripts proposés par Yashied et Wakillon dans le post
https://www.autoitscript.com/forum/topi ... ent-828094.
Aucun ne donne de bons résultats sur ma machine (W7 x64) : les scripts s'exécutent sans erreur mais les icônes du bureau demeurent toujours visibles.
Pour information le retour de _IsDesktopIconShow (script Yashied) est FALSE.
Quelqu'un aurait-il la solution ?
Merci par avance.
Bien cordialement.
Azin Wzon
Re: Masquer/afficher les icônes du bureau W7
Posté : lun. 23 mai 2016 20:28
par blacksoul305
Re-bonsoir,
il semblerait que je vous ai envoyé le lien du mauvais message, néanmoins d'autres solutions sont proposées sur le même sujet. Avez vous essayé
ce code proposé par Yashied ?
Code : Tout sélectionner
DllCall('user32.dll', 'lresult', 'SendMessage', 'hwnd', ControlGetHandle('[CLASS:Progman]', '', '[CLASS:SHELLDLL_DefView]'), 'uint', 0x0111, 'wparam', 29698, 'lparam', 0)
EDIT : Ooops, il semblerait que oui. Peut-être
ce post là alors ?
EDIT2 : Ah, peut-être qu'il s'agit de droits d'administrateur. Placez
#RequireAdmin
en tête de votre script et ré-essayez le code de Yashied ou ceux cités dans le post de mon premier EDIT.
Re: Masquer/afficher les icônes du bureau W7
Posté : lun. 23 mai 2016 21:06
par orax
Sur W8, ça marche correctement. Je n'ai d'ailleurs pas eu besoin d'ajouter #RequireAdmin.
Le code ci-dessous affiche quoi ? S'il n'y a pas d'erreur, il devrait afficher deux fois
1 0 0
.
Re: Masquer/afficher les icônes du bureau W7
Posté : lun. 23 mai 2016 21:39
par blacksoul305
Je suis sous Windows 10 et personnellement je n'ai pas besoin de #RequireAdmin
, cela dit je me souviens que Vista et Windows 7 notamment, demandaient souvent cette directive là à partir du moment où je voulais faire autre chose qu'un Hello World...
Re: Masquer/afficher les icônes du bureau W7
Posté : mar. 24 mai 2016 11:31
par AzinWxon
Bonjour,
Merci d'avoir répondu à ma demande.
Orax, le code affiche sur ma machine (W7 x64) :
False 2 1
False 2 1
Blacksoul305, #RequireAdmin ne change rien.
Bien cordialement.
Re: Masquer/afficher les icônes du bureau W7
Posté : mar. 24 mai 2016 12:00
par orax
Re: Masquer/afficher les icônes du bureau W7
Posté : mar. 24 mai 2016 12:20
par jguinch
_WinAPI_PostMessage renvoi une erreur. Utilise _WinAPI_GetLastError () pour récupérer le code de l'erreur.
Le code marche pour moi sur Windows 7x64 et Windows 10x64
Re: Masquer/afficher les icônes du bureau W7
Posté : mar. 24 mai 2016 12:40
par AzinWxon
A Orax : idem avec les 2 exemples (IanN1990 - AnswerA et AnswerB). C'est pas grave, j'abandonne ! Et merci encore.
Bien cordialement.
Azin Wxon
Re: [R] Masquer/afficher les icônes du bureau W7
Posté : ven. 27 mai 2016 10:29
par franco
Salut.
Dommage que tu abandonnes aussi vite et facilement...
J'avais pondu un script qui me permettant à la fois :
- De cacher / d'afficher les icônes du bureau
- De cacher / d'afficher la barre des tâches.
Bref, sous windows 10.
Je peux tester sous windows 7 si tu veux.
Mais si tu veux vraiment abandonner... Tant pis
++
Re: [R] Masquer/afficher les icônes du bureau W7
Posté : ven. 27 mai 2016 11:51
par franco
Salut.
Bon, j'ai testé sous windows 7 X64 (en VM) : et ça fonctionne.
#include <GUIConstantsEx.au3>#include <WindowsConstants.au3>Global $Form1 = GUICreate("Hide Desktop&Bar", 280, 30, 192, 124)GUISetFont(9,400,0,"comic sans ms")$DesktopState = GUICtrlCreateRadio("Les icônes du bureau",05,05,140,20)$BarState = GUICtrlCreateRadio("La barre des tâches",145,05,130,20)GUISetState(@SW_SHOW)While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit case $DesktopState _ShowHide_DesktopIcons
() GUICtrlSetState($DesktopState,$GUI_UNCHECKED) Case $BarState _ShowHide_Bar
() GUICtrlSetState($BarState,$GUI_UNCHECKED) EndSwitchWEndFunc _ShowHide_Bar
() $iState = WinGetState(WinWait("[CLASS:Shell_TrayWnd]", "")) If BitAND($iState, 2) Then WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_HIDE) If Not BitAND($iState, 2) Then WinSetState("[CLASS:Shell_TrayWnd]", "", @SW_SHOW)EndFunc ;==>_ShowHide_BarFunc _ShowHide_DesktopIcons
() $iState = WinGetState("[CLASS:Progman]") If BitAND($iState, 2) Then $show = 0 If Not BitAND($iState, 2) Then $show = 1 Local $aResult = DllCall("user32.dll", "bool", "PostMessage", "hwnd", ControlGetHandle(WinGetHandle("[CLASS:Progman]"), "", "[CLASSNN:SHELLDLL_DefView1]"), "uint", _
0x00111, "wparam", 0x7402, "lparam", $show) If @error Then Return SetError(@error, @extended, False) Return $aResult[0]EndFunc ;==>_ShowHide_DesktopIcons
Pour résumer :
Le script
détecte si les icônes du bureau sont visibles ou non.
De là :
- Si les icônes sont visibles : le script les cache.
- Si les icônes sont cachées : le script les ré-affiche.
C'est la fonction :
_ShowHide_DesktopIcons()
Donc, vu que tu veux en faire un
raccourci clavier, tu devras utiliser un
hotkeyset :
http://www.autoitscript.fr/autoit3/docs ... KeySet.htm
En espérant que ton pc veut bien de ce script xD
++