[R] Masquer/afficher les icônes du bureau W7
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Masquer/afficher les icônes du bureau W7
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
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
Modifié en dernier par AzinWxon le mar. 24 mai 2016 13:03, modifié 2 fois.
- blacksoul305
- Membre émérite
- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: Masquer/afficher les icônes du bureau W7
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 ?
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
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)
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.Étudiant en 2ème année de Licence Informatique.
- orax
- Modérateur
- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: Masquer/afficher les icônes du bureau W7
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
Le code ci-dessous affiche quoi ? S'il n'y a pas d'erreur, il devrait afficher deux fois
1 0 0
.#include <WinAPI.au3>
$r = _ShowDesktopIcons(0) ; Hide
ConsoleWrite($r & " " & @error & " " & @extended & @CRLF)
Sleep(3000)
_ShowDesktopIcons(1) ; Show
ConsoleWrite($r & " " & @error & " " & @extended & @CRLF)
Func _ShowDesktopIcons($_Show)
$hProgram = WinGetHandle('[CLASS:Progman]')
If @error Then Return SetError(1, @error, False)
$hControl = ControlGetHandle($hProgram, '', '[CLASSNN:SHELLDLL_DefView1]')
If @error Then Return SetError(2, @error, False)
Return _WinAPI_PostMessage($hControl, 0x00111, 0x7402, $_Show)
EndFunc ;==>_ShowDesktopIcons
$r = _ShowDesktopIcons(0) ; Hide
ConsoleWrite($r & " " & @error & " " & @extended & @CRLF)
Sleep(3000)
_ShowDesktopIcons(1) ; Show
ConsoleWrite($r & " " & @error & " " & @extended & @CRLF)
Func _ShowDesktopIcons($_Show)
$hProgram = WinGetHandle('[CLASS:Progman]')
If @error Then Return SetError(1, @error, False)
$hControl = ControlGetHandle($hProgram, '', '[CLASSNN:SHELLDLL_DefView1]')
If @error Then Return SetError(2, @error, False)
Return _WinAPI_PostMessage($hControl, 0x00111, 0x7402, $_Show)
EndFunc ;==>_ShowDesktopIcons
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
- blacksoul305
- Membre émérite
- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: Masquer/afficher les icônes du bureau W7
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...Étudiant en 2ème année de Licence Informatique.
Re: Masquer/afficher les icônes du bureau W7
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.
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.
- orax
- Modérateur
- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: Masquer/afficher les icônes du bureau W7
Et avec les deux exemples sur https://www.autoitscript.com/forum/topi ... ent=944930 ?
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: Masquer/afficher les icônes du bureau W7
_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
Le code marche pour moi sur Windows 7x64 et Windows 10x64
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: Masquer/afficher les icônes du bureau W7
A Orax : idem avec les 2 exemples (IanN1990 - AnswerA et AnswerB). C'est pas grave, j'abandonne ! Et merci encore.
Bien cordialement.
Azin Wxon
Bien cordialement.
Azin Wxon
- franco
- Niveau 7
- Messages : 342
- Enregistré le : lun. 03 oct. 2011 22:37
- Localisation : Liévin
- Status : Hors ligne
Re: [R] Masquer/afficher les icônes du bureau W7
Salut.
Dommage que tu abandonnes aussi vite et facilement...
J'avais pondu un script qui me permettant à la fois :
Je peux tester sous windows 7 si tu veux.
Mais si tu veux vraiment abandonner... Tant pis
++
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.
Je peux tester sous windows 7 si tu veux.
Mais si tu veux vraiment abandonner... Tant pis
++
L'entraide, c'est mon dada
- franco
- Niveau 7
- Messages : 342
- Enregistré le : lun. 03 oct. 2011 22:37
- Localisation : Liévin
- Status : Hors ligne
Re: [R] Masquer/afficher les icônes du bureau W7
Salut.
Bon, j'ai testé sous windows 7 X64 (en VM) : et ça fonctionne.
Pour résumer :
Le script détecte si les icônes du bureau sont visibles ou non.
De là :
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
++
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)
EndSwitch
WEnd
Func _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_Bar
Func _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
#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)
EndSwitch
WEnd
Func _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_Bar
Func _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
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.
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
++
L'entraide, c'est mon dada