我们可以获取屏幕的分辨率,但是为了更好的呈现程序界面,如何在运行程序时,改变电脑本身的分辨率,达到全屏的效果。
虽然可以通过获取电脑分辨率的大小来改变程序,但是我发现,改变程序得不偿失,还不如直接改变电脑的分辨率。虽然有先例(红警游戏)就是改变电脑的分辨率,但是不知道他是如何实现的。望得到高人指点。
我们可以获取屏幕的分辨率,但是为了更好的呈现程序界面,如何在运行程序时,改变电脑本身的分辨率,达到全屏的效果。
虽然可以通过获取电脑分辨率的大小来改变程序,但是我发现,改变程序得不偿失,还不如直接改变电脑的分辨率。虽然有先例(红警游戏)就是改变电脑的分辨率,但是不知道他是如何实现的。望得到高人指点。
不推荐改变屏幕分辨率。如果你一定要这么做,可以这样:
#include <ddraw.h>
#pragma comment (lib,"ddraw.lib")
2. 调用以下改变屏幕分辨率的函数
bool ChangeDisplaySize(int cx, int cy) // 分辨率设置为 cx × cy,退出程序时自动还原
{
LPDIRECTDRAW DXW;
HRESULT ddrval;
ddrval = DirectDrawCreate(NULL, &DXW, NULL);
if (DD_OK != DD_OK) return FALSE; // 创建DirectDraw对象失败返回
ddrval = DXW->SetCooperativeLevel(NULL, DDSCL_NORMAL);
if (DD_OK != DD_OK) return FALSE; // 取得窗口模式失败返回
ddrval = DXW->SetDisplayMode(cx, cy, 16);
if (DD_OK != DD_OK) return FALSE; // 设置显示模式失败返回
}