工控编程吧
标题: 上位机MFC刷新桌面例程 [打印本页]
作者: qq263946146 时间: 2019-9-12 10:00
标题: 上位机MFC刷新桌面例程
我们有时会遇到桌面内容添加后不会显示,F5刷新后就能正常显示。
这里我们通过代码来实现桌面的刷新功能。
代码为
- void CMyDlg::OnButton2()
- {
- // TODO: Add your control notification handler code here
- //刷新桌面的图标缓存
- HWND hWnd = ::GetDesktopWindow();
- hWnd = ::FindWindowEx(hWnd, 0, "Progman", 0);
- hWnd = ::FindWindowEx(hWnd, 0, "SHELLDLL_DefView", 0);
- hWnd = ::FindWindowEx(hWnd, 0, "SysListView32", 0); //这时hWnd才是你需要的那个
- //InvalidateRect(hWnd,TRUE);
- //hWnd->Invalidate(false);
- //::InvalidateRect(hWnd,0,TRUE);
- //::InvalidateRect(NULL,NULL,TRUE);
- ::PostMessage(hWnd,WM_KEYDOWN,VK_F5,0);
- ::PostMessage(hWnd,WM_KEYUP,VK_F5,0);
- }
复制代码
(, 下载次数: 0)