英
英雄无用武之地
Unregistered / Unconfirmed
GUEST, unregistred user!
更改屏幕分辨率的方法在本论坛上有很多了,我就是采用本论坛说的方法来做的,结果发现没有反应,屏幕分辨率没有更改,我使用C++ Builder 6源代码如下:
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
if(GetSystemMetrics(SM_CXSCREEN)!=1024&&GetSystemMetrics(SM_CYSCREEN)!=768)
{
if(Application->MessageBox("建议您将屏幕分辨率更改为1024*768,确实要更改吗?","分辨率更改",MB_YESNO+MB_ICONQUESTION)==IDYES)
{
DEVMODE *lpDevMode;
if(EnumDisplaySettings(NULL,0,lpDevMode))
{
lpDevMode->dmFields=DM_PELSWIDTH||DM_PELSHEIGHT;
lpDevMode->dmPelsWidth=1024;
lpDevMode->dmPelsHeight=768;
if(!(ChangeDisplaySettings(lpDevMode,CDS_UPDATEREGISTRY)==DISP_CHANGE_SUCCESSFUL))
{
Application->MessageBox("分辨率更改没有成功,请手动更改!","分辨率更改错误",MB_OK+MB_ICONERROR);
return;
}
}
}
}
}
请指教!
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
if(GetSystemMetrics(SM_CXSCREEN)!=1024&&GetSystemMetrics(SM_CYSCREEN)!=768)
{
if(Application->MessageBox("建议您将屏幕分辨率更改为1024*768,确实要更改吗?","分辨率更改",MB_YESNO+MB_ICONQUESTION)==IDYES)
{
DEVMODE *lpDevMode;
if(EnumDisplaySettings(NULL,0,lpDevMode))
{
lpDevMode->dmFields=DM_PELSWIDTH||DM_PELSHEIGHT;
lpDevMode->dmPelsWidth=1024;
lpDevMode->dmPelsHeight=768;
if(!(ChangeDisplaySettings(lpDevMode,CDS_UPDATEREGISTRY)==DISP_CHANGE_SUCCESSFUL))
{
Application->MessageBox("分辨率更改没有成功,请手动更改!","分辨率更改错误",MB_OK+MB_ICONERROR);
return;
}
}
}
}
}
请指教!