VC++得到任务栏的高度和位置

VC++得到任务栏的高度和位置

1.判断位置
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", "");   
pWndPrev->GetWindowRect(&rect); 
   //rect.bottom-rect.top   就是任务栏的高度 
if(rect.top>0)//下面
if(rect.left>0)//左面 
VC++得到和改变屏幕的分辨率
//获取屏幕的分辨率   
int   nFullWidth=GetSystemMetrics(SM_CXSCREEN);   
int   nFullHeight=GetSystemMetrics(SM_CYSCREEN);

DEVMODE   lpDevMode;   
lpDevMode.dmBitsPerPel=32;//修改为32位颜色   
lpDevMode.dmPelsWidth=1024;//分辨率X为1024   
lpDevMode.dmDisplayFrequency=85;//刷新率为85HZ   
lpDevMode.dmPelsHeight=768;//分辨率Y为768   
lpDevMode.dmSize=sizeof(lpDevMode);   
lpDevMode.dmFields   =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL|DM_DISPLAYFREQUENCY;   
ChangeDisplaySettings(&lpDevMode,1);
ChangeDisplaySettings用VC实现动态改变Windows的显示特性
通过消息控制窗体最大化和还原
//还原
SendMessage(WM_SYSCOMMAND,SC_RESTORE,0);
//最大化
SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); 
//最小化
SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值