VC獲得桌面工作區與工作列大小 寬度與高度

2021-05-28 06:09:24 字數 1035 閱讀 6849

獲得桌面工作區大小,即不包括工作列的大小,製作視窗全屏時經常用到,方法如下:

rect rt;

systemparametersinfo(spi_getworkarea,0,(pvoid)&rt,0);

獲得工作列高度與寬度方法有二:

1.判斷位置

rect rt;

systemparametersinfo(spi_getworkarea, 0, &rt, 0) // 獲得工作區大小

//工作列在下面的高度

int y = ::getsystemmetrics(sm_cyscreen)-rt.height();

//上面

int y = rt.top;

// 左

int y = rt.left;

// 右

int y = ::getsystemmetrics(sm_cxscreen)-rt.width();

2.得到高度,然後可判斷位置

crect   rect;   

cwnd *pwndprev= findwindow("shell_traywnd", ""); // 呼叫本物件即this的findwindow函式,返回視窗指標

pwndprev->getwindowrect(&rect);

就是工作列的高度

if(rect.top>0) //下面

if(rect.left>0) //左面

或者cwnd* p = null ;

hwnd hwnd = ::findwindow("shell_traywnd",null) ; // 呼叫公有的findwindow函式,返回視窗控制代碼

if(hwnd)

p->getwindowrect();//包含有寬度

找回工作列的顯示桌面

shell command 2 iconfile explorer.exe,3 taskbar command toggledesktop 儲存時把檔名設為 顯示桌面.scf 再將其拖到快速啟動欄上,顯示桌面圖示就找回來了。第三行代表的是圖示的位置,把數字 3 換成 4 重新整理,圖示會變化 再換成...

使用VC 6 0隱藏工作列

使用vc 6.0隱藏工作列 摘要 隱藏工作列本沒有什麼難的,獲取工作列的視窗控制代碼,然後設定它隱藏。但是隱藏之後,工作列陰魂不散,死活也不肯騰出所空間。還好,最後找到了解決辦法。正文 需求是 徹底隱藏工作列,讓工作列騰出空間給視窗。隱藏windows工作列,如下 hwnd hwnd hwnd fi...

VC取得工作列高度的方法

本文簡單介紹了vc取得工作列高度的兩個實現方法,具體 如程式設計客棧下所示,讀者可根據自身需求選擇或加以完善修改。方法一 trect rt systemparametersinfo spi getworkarea,0,rt,0 工作列在下面的高度 int y getsyst 上面 y rt.top ...