获取和修改计算机屏幕分辨率

//获取分辨率
m_nWiondwMetricsX   =   ::GetSystemMetrics(SM_CXSCREEN);   
    m_nWiondwMetricsY   =   ::GetSystemMetrics(SM_CYSCREEN);  
//修改分辨率
DEVMODE lpDevMode;
lpDevMode.dmBitsPerPel=32;
lpDevMode.dmPelsWidth=1024;
lpDevMode.dmPelsHeight=768;
lpDevMode.dmSize=sizeof(lpDevMode);
lpDevMode.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL;
LONG result;
result=ChangeDisplaySettings(&lpDevMode,0);
if (result==DISP_CHANGE_SUCCESSFUL)
{
   AfxMessageBox(L"修改成功!");
    ChangeDisplaySettings(&lpDevMode,CDS_UPDATEREGISTRY);
//            //使用CDS_UPDATEREGISTRY表示次修改是持久的,
//            //并在注册表中写入了相关的数据 
}
else
{
   AfxMessageBox(L"修改失败,恢复原有设置!");
   ChangeDisplaySettings(NULL,0);
}

//获得系统可用的分辨率。 
CString   str; 
BOOL   Result=EnumDisplaySettings(NULL,i,lpDevMode); 
while(Result) 
{ 
str.Format( "%04d*%04d*%02d位色 ",lpDevMode-> dmPelsWidth, 
lpDevMode-> dmPelsHeight,lpDevMode-> dmBitsPerPel); 
m_Display.AddString(str); 
Result=EnumDisplaySettings(NULL,++i,lpDevMode); 
} 


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值