VC获取并修改计算机屏幕分辨率(MFC)

    xiaoxiao2025-03-15  15

    //检测当前分辨率 int Width = GetSystemMetrics(SM_CXSCREEN); int Height = GetSystemMetrics(SM_CYSCREEN); DEVMODE lpDevMode0; lpDevMode0.dmBitsPerPel=32; lpDevMode0.dmPelsWidth=Width; lpDevMode0.dmPelsHeight=Height; lpDevMode0.dmSize=sizeof(lpDevMode0); lpDevMode0.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL; //修改 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) { //MessageBox("修改成功!"); ChangeDisplaySettings(&lpDevMode,CDS_UPDATEREGISTRY); //   //使用CDS_UPDATEREGISTRY表示次修改是持久的, //   //并在注册表中写入了相关的数据 MessageBox("修改成功!还原"); if(IDOK) { ChangeDisplaySettings(&lpDevMode0,CDS_UPDATEREGISTRY); } } else { //MessageBox("修改失败,恢复原有设置!"); ChangeDisplaySettings(NULL,0); }
    转载请注明原文地址: https://ju.6miu.com/read-1297067.html
    最新回复(0)