当前位置:编程学习 > VB >>

如何实现“有用”刷新桌面

应为我做了一个“显示所有文件”和“不显示所有文件”的按钮,直接运行后非要刷新一下桌面才有效果。于是就在往上面找方法,基本上都是向桌面PosMessage一条按F5的命令。这样原理上是实现了刷新桌面,但是不知道为什么没有效果(这里是不是程序没有效果,我试过将一个文件隐藏 直接对着桌面按F5 那个隐藏文件还是在,非要右键单击桌面选着刷新这时候文件才隐藏了起来,大家可以试试)所以我想找人帮帮忙解决一下问题,虽然这个问题作用价值不高但是我想完成这个问题。谢谢各位犀利的人物帮忙解答一下。  --------------------编程问答-------------------- 无代码无真相,你是怎么做的? --------------------编程问答-------------------- 刷新文件夹 

Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Private Const SHCNE_ASSOCCHANGED = &H8000000
Private Const SHCNF_FLUSHNOWAIT = &H2000
Public Sub BreakDir()
    SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, 0, 0
End Sub

 
--------------------编程问答-------------------- 临时修改一下系统默认的图标尺寸为31,然后再恢复成32 --------------------编程问答--------------------
引用 2 楼 shuzhi920354 的回复:
刷新文件夹 

VB code

Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Private Const SHCNE_ASSOCCHANGED = &……


你的代码是实现了刷新的效果 但是还是不行  
显示所有文件和文件夹代码:
shell"cmd.exe /c reg add HKLM\Software\Microsoft\Windows\Currentversion\Explorer\Advanced\folder\hidden\showall /v checkedvalue /t REG_DWORD /d 1 /f"
不显示隐藏文件和文件夹代码:
shell"cmd.exe /c reg add HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Advanced /v Hidden /t REG_DWORD /d 2 /f"

大家可以试试 放到 command1.check 里面 单击后 桌面上面没有直接的效果的 非要刷新一下 而且不能直接按F5刷新  非要 右键单击桌面选着刷新 才可以看到效果



--------------------编程问答--------------------
引用 4 楼 snail_housing 的回复:
引用 2 楼 shuzhi920354 的回复:
刷新文件夹

VB code

Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Private Con……


补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,