Refrescar escritorio (Ayuda)
Publicado: 22 Abr 2012, 10:20
La idea es sencilla esta haciendo un programa el cual activo o desactivo los iconos (Accesos director originales) del escritorio atraves de las cadenas del regedit
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
también he probado ejecutando este comando pero no me ha funcionado después de escribir en el registro
Run("RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters")
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")