vb 如何后台刷新指定文件夹
- 培训职业
- 2025-05-05 20:23:47
'刷新当前文件夹
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
Private Sub BreakDir()
SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, 0, 0
End Sub
Private Sub Command1_Click()
BreakDir
End Sub
'刷新桌面
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1 As Long, _
ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Const WM_KEYDOWN = &H100
Public Sub RefreshDesktop()
Dim DeskWin As Long
DeskWin = FindWindowEx(0&, 0&, "Progman", vbNullString)
DeskWin = FindWindowEx(DeskWin, 0&, "SHELLDLL_DefView", vbNullString)
DeskWin = FindWindowEx(DeskWin, 0&, "SysListView32", vbNullString)
PostMessage DeskWin, WM_KEYDOWN, &H74, &H3F0001
End Sub
Private Sub Command1_Click()
RefreshDesktop
End Sub
多重随机标签