WinCE 下隱藏任務欄

有時候在WinCE工控機上開發的應用程序需要隱藏任務欄,爲了讓應用程序全屏,最大化利用工控機那小小的屏幕,同時確保了應用程序不會意外退出。

重寫MainFrame的PreCreateWindow虛函數,代碼如下:

 if (!CFrameWnd::PreCreateWindow(cs))
  return FALSE;
 // TODO: 在此處通過修改
 //  CREATESTRUCT cs 來修改窗口類或樣式

 // 獲得任務欄窗口句柄 直接隱藏 "開始" 任務欄
 HWND hwndTaskBar;
 hwndTaskBar = ::FindWindow(_T("HHTaskBar"), NULL);
 ::ShowWindow(hwndTaskBar, SW_HIDE);

 // 在窗口創建完成之前 使應用程序全屏
 int iScreenX = GetSystemMetrics(SM_CXSCREEN); // 獲取屏幕寬度
 int iScreenY = GetSystemMetrics(SM_CYSCREEN); // 獲取屏幕高度
 CRect rectWorkArea;
 rectWorkArea.left = 0;
 rectWorkArea.right = iScreenX;
 rectWorkArea.top = 0;
 rectWorkArea.bottom = iScreenY;
 // 設置工作區全屏
 ::SystemParametersInfo(SPI_SETWORKAREA, 0, &rectWorkArea, SPIF_SENDCHANGE);

 return TRUE;

即可實現應用程序窗口顯示整個屏幕,在退出應用程序時一般需要恢復顯示任務欄

重寫消息響應函數OnClose(), 代碼如下:

 // TODO: 在此添加消息處理程序代碼和/或調用默認值

 // 程序退出後 顯示系統任務欄
 HWND hwndTaskBar;
 hwndTaskBar = ::FindWindow(_T("HHTaskBar"), NULL);

 ::ShowWindow(hwndTaskBar, SW_SHOW);

 CFrameWnd::OnClose();

 

 

發佈了23 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章