当前位置:首页 > 培训职业 > 正文

vb 如何后台刷新指定文件夹

'刷新当前文件夹

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

多重随机标签

猜你喜欢文章