是何异常?也许是内存不够吧。或者是要在FillMemory之前加上pdm=new DEVMODE;
解决方案 »
- 闲得慌,散分玩~~
- 新手:请指教一下学习的方向
- 关于WaitForMultipleEvent函数的用法问题
- WINDOWS自带的打印控制程序不能显示机器名
- 被女人甩,程序内存泄漏,郁闷
- 给MFC基于对话框编程添加数据库支持
- ON_UPDATE_COMMAND_UI_RANGE 消息的处理,CSDN有高手吗? 请进!
- 一般工业机器人用什么操作系统?
- 能否知道一个进程正在被什么阻塞,是I/O还是消息还是别的什么?
- skin++皮肤屏蔽了WM_CTLCOLOR消息,怎么实现窗口控件重绘?
- 帮帮忙,internet explorer_server是什么东东??我想做一个象outlook的视图窗口,请问如何做。
- statement1和statement2有什么不同?
DEVMODE dm;
FillMemory (&dm, sizeof(DEVMODE),0);//此处异常
dm. dmSize = sizeof(DEVMODE);
wd=GetSystemMetrics(SM_CXSCREEN);
hd=GetSystemMetrics(SM_CYSCREEN);
if(wd==1024& & hd==768)
{
dm.dmPelsWidth=1024;
dm. dmPelsHeight=768;
dm. dmFields=DM_PELSWIDTH|DM_PELSHEIGHT ;
ChangeDisplaySettingsEx(NULL,& dm,NULL,CDS_RESET,NULL);
}
LPDEVMODE gpCurrentMode,gpNewMode;
gpCurrentMode = new DEVMODE;
flag = EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, gpCurrentMode);
gpCurrentMode->dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM
_DISPLAYFLAGS | DM_DISPLAYFREQUENCY ;
gpCurrentMode->dmBitsPerPel = 24;
gpCurrentMode->dmPelsWidth = 1024;
gpCurrentMode->dmPelsHeight = 768;
gpCurrentMode->dmDisplayFrequency = 0;
if ((DM_BITSPERPEL & gpCurrentMode->dmFields ||
DM_PELSWIDTH & gpCurrentMode->dmFields ||
DM_PELSHEIGHT & gpCurrentMode->dmFields ||
DM_DISPLAYFLAGS & gpCurrentMode->dmFields ||
DM_DISPLAYFREQUENCY & gpCurrentMode->dmFields ) )
{
gpNewMode = gpCurrentMode;
LONG lResult = ChangeDisplaySettings
( gpNewMode,
CDS_TEST );
if (lResult == DISP_CHANGE_RESTART)
{
MessageBox("This mode requires a reboot which\n" \
"is not supported in this sample.",
NULL);
}
if (DISP_CHANGE_SUCCESSFUL ==lResult)
{
lResult = ChangeDisplaySettings
( gpCurrentMode,
0 );
}
}