El problema es como hago que el escritorio se refresque no mas le doy clic en el boton para que se muestre o se oculte dicho acceso creado
según busque en google EnvUpdate() refresca el escritorio, pero no me ha servido en nada
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Ventana = GUICreate("Mi equipo", 348, 192, -1, -1)
$Mostrar = GUICtrlCreateButton("Mostrar", 72, 128, 89, 33)
$Ocultar = GUICtrlCreateButton("Ocultar", 184, 128, 105, 33)
$Icono = GUICtrlCreateIcon("shell32.dll", 16, 150, 50, 48, 48)
$Label = GUICtrlCreateLabel("Mostrar en escritorio", 120, 16, 99, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Mostrar
_Mostrar()
Case $Ocultar
_Ocultar()
EndSwitch
WEnd
Func _Mostrar()
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel", "{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "REG_DWORD", "0")
EnvUpdate()
MsgBox(0, "", "Icono debe estar mostrado en escritorio")
EndFunc
Func _Ocultar()
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel", "{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "REG_DWORD", "1")
EnvUpdate()
MsgBox(0, "", "Icono debe estar oculto en escritorio")
EndFunc
Run("RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters")