工控编程吧

标题: 上位机MFC刷新桌面例程 [打印本页]

作者: qq263946146    时间: 2019-9-12 10:00
标题: 上位机MFC刷新桌面例程
我们有时会遇到桌面内容添加后不会显示,F5刷新后就能正常显示。
这里我们通过代码来实现桌面的刷新功能。
代码为
  1. void CMyDlg::OnButton2()
  2. {
  3.         // TODO: Add your control notification handler code here

  4.         //刷新桌面的图标缓存
  5.         HWND hWnd   =   ::GetDesktopWindow();  
  6.     hWnd   =   ::FindWindowEx(hWnd,   0,   "Progman",   0);  
  7.     hWnd   =   ::FindWindowEx(hWnd,   0,   "SHELLDLL_DefView",   0);  
  8.         hWnd   =   ::FindWindowEx(hWnd,   0,   "SysListView32",   0);   //这时hWnd才是你需要的那个
  9.         //InvalidateRect(hWnd,TRUE);
  10.         //hWnd->Invalidate(false);
  11.         //::InvalidateRect(hWnd,0,TRUE);
  12.         //::InvalidateRect(NULL,NULL,TRUE);
  13.         ::PostMessage(hWnd,WM_KEYDOWN,VK_F5,0);
  14.         ::PostMessage(hWnd,WM_KEYUP,VK_F5,0);       
  15. }
复制代码
(, 下载次数: 0)