VC获取并修改计算机屏幕分辨率
2015-09-07 08:34
363 查看
//获取分辨率
int m_nWindwMetricsX = ::GetSystemMetrics(SM_CXSCREEN);
int m_nWindwMetricsY = ::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);
}
int m_nWindwMetricsX = ::GetSystemMetrics(SM_CXSCREEN);
int m_nWindwMetricsY = ::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);
}
相关文章推荐
- 数据结构之自建算法库——顺序表
- http tcp ip 模型解释 ngix expoll select apache
- 数据结构中基本运算验证性实践路线建议——以顺序表为例
- 网络数据挖掘程序的设计
- Linux运维历史和计算机基础
- 黑马程序员-Java基础:网络编程
- java之--------socket编程(TCP)服务器请求与客户端
- HttpURLConnection post请求
- hdu 4280 Island Transport 【网络流+优化】
- 网络部分(一)
- 菜鸟学matlab之智能算法(2)——————————BP神经网络算法
- 移动应用网络优化
- 网页上获取MAC地址与计算机名称
- 计算机网络面试题
- HttpServletResponse 小知识
- SOAP and .net services for Apache HTTP Server
- iOS开发之加载大量网络图片优化
- 浏览器相关技术介绍
- 使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史
- Andorid 分别用AsyncTask和Handler下载网络图片