阅读:1707回复:2
请教前辈
谢谢,有谁能解答我下面2个问题?
1、在windows下如果改变显示器的刷新率和分辨率为非标准/非支持模式,(比如:我想改成300Hz 2000x15000 的模式); 问题二:如何写硬盘的firmware? 用汇编(dos或win32都可以)写硬盘的firmware; 谢谢,我的邮箱duyongyu@163.com QQ:23483666 主页:http://ww3.sina.cn.com/ 欢迎大家交流 |
|
|
沙发#
发布于:2004-11-26 09:22
1、在windows下如果改变显示器的刷新率和分辨率为非标准/非支持模式,(比如:我想改成300Hz 2000x15000 的模式);
直接在注册表中改,也可在程序中先枚举你的显卡,然后再用函数设置,在sdk中查一查changedisplaysetting这个函数,你就知道怎么做了,但要你的显卡和显示器支持你设置的模式,不然会黑屏。 |
|
板凳#
发布于:2004-11-30 20:53
谢谢
changedisplaysetting这个函数我原来试过,只能改成标准模式,如果是非标准模式,则函数调用失败 其中部分代码 void CChange_fenbianDlg::OnButton1() { DEVMODE lpDevMode; lpDevMode.dmBitsPerPel=24; lpDevMode.dmPelsWidth=800; lpDevMode.dmPelsHeight=600; lpDevMode.dmSize=sizeof(lpDevMode); lpDevMode.dmFields =DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL; LONG result; result=ChangeDisplaySettings(&lpDevMode,0); if (result==DISP_CHANGE_SUCCESSFUL) { AfxMessageBox("修改成功!"); ChangeDisplaySettings(&lpDevMode,CDS_UPDATEREGISTRY); //使用CDS_UPDATEREGISTRY表示次修改是持久的, //并在注册表中写入了相关的数据 } else { AfxMessageBox("修改失败,恢复原有设置!"); ChangeDisplaySettings(NULL,0); } } |
|
|