用VB改变屏幕的分辨率和刷新频率

2016-02-19 13:34 60 1 收藏

今天图老师小编要向大家分享个用VB改变屏幕的分辨率和刷新频率教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

  OptionExplicit

  PublicDeclareFunctionChangeDisplaySettingsLib"user32.dll"Alias"ChangeDisplaySettingsA"

  (ByReflpDevModeAsDEVMODE,ByValdwFlagsAsLong)AsLong
  PublicDeclareFunctionEnumDisplaySettingsLib"user32.dll"Alias"EnumDisplaySettingsA"(ByVal

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  lpszDeviceNameAsString,ByValiModeNumAsLong,ByReflpDevModeAsDEVMODE)AsLong

  ConstDM_PELSHEIGHTAsLong=&H100000
  ConstDM_PELSWIDTHAsLong=&H80000
  ConstDM_BITSPERPELAsLong=&H40000
  ConstDM_DISPLAYFREQUENCYAsLong=&H400000

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  ConstCCHDEVICENAMEAsLong=32
  ConstCCHFORMNAMEAsLong=32
  ConstCDS_TEST=&H4

  PrivateTypeDEVMODE
  dmDeviceNameAsString*CCHDEVICENAME
  dmSpecVersionAsInteger
  dmDriverVersionAsInteger
  dmSizeAsInteger
  dmDriverExtraAsInteger
  dmFieldsAsLong
  dmOrientationAsInteger
  dmPaperSizeAsInteger
  dmPaperLengthAsInteger
  dmPaperWidthAsInteger
  dmScaleAsInteger
  dmCopiesAsInteger
  dmDefaultSourceAsInteger
  dmPrintQualityAsInteger
  dmColorAsInteger
  dmDuplexAsInteger
  dmYResolutionAsInteger
  dmTTOptionAsInteger
  dmCollateAsInteger
  dmFormNameAsString*CCHFORMNAME
  dmUnusedPaddingAsInteger
  dmBitsPerPelAsInteger
  dmPelsWidthAsLong
  dmPelsHeightAsLong
  dmDisplayFlagsAsLong
  dmDisplayFrequencyAsLong
  EndType

  '-------------------------------------------------------------------------------------------
  'LngWidth//屏幕的宽(单位象素)
  'LngHeight//屏幕的高(单位象素)
  'IntColor//多少位颜色(e.g16or32)
  'LngFrequency//屏幕的刷新频率
  '
  '声明:
  '调用该函数时要确定所设置的值在系统所允许的设置范围内,比如系统的最大刷新频率位80,而你
  '用把LngFrequency设位85,这样将带来无法预测的后果。
  '------------------------------------------------------------------------------------------
  PublicFunctionSetDisplaymode(LngWidthAsLong,LngHeightAsLong,IntColorAsInteger,

  LngFrequencyAsLong)AsLong
  DimNewDevmodeAsDEVMODE
  DimlngPAsLong
  
  'obtainsinformation
  EnumDisplaySettings0&,0&,NewDevmode
  
  WithNewDevmode
  .dmFields=DM_PELSHEIGHTOrDM_PELSWIDTHOrDM_BITSPERPELOrDM_DISPLAYFREQUENCY
  .dmPelsWidth=LngWidth
  .dmPelsHeight=LngHeight
  .dmBitsPerPel=IntColor
  .dmDisplayFrequency=LngFrequency
  EndWith
  
  SetDisplaymode=ChangeDisplaySettings(NewDevmode,CDS_TEST)
  EndFunction

->

来源:http://www.tulaoshi.com/n/20160219/1604680.html

延伸阅读
标签: 电脑入门
我设置的是1280*800 但是玩游戏 就不行 游戏屏幕大了点 还有小半在下面看不见,多少分辨率能正常显示. 首先说下,游戏内的画面的分辨率一般都是在启动游戏后,由游戏自己的画面控制程序来控制画面的显示的效果的.如果切换出来则按照系统默认的设置的为主的.因此游戏本身和桌面的显示效果是2个概念. 下面解释一下屏幕的分辨率应该设置多少最佳.首...
标签: 电脑入门
显存也被叫做显示内存、帧缓存,它是用来存储显示芯片处理过或者即将读取的渲染数据。如同计算机的内存一样,显存是用来存储图形数据的硬件。在 显示器上显示出的画面是由一个个的像素点构成的,而每个像素点都以4至64位的数据来控制它的亮度和色彩,这些点构成一帧的图形画面。为了保持画面流畅, 要输出和要处理的多幅帧的像素数据必须通过显...
标签: Android
安卓手机屏幕分辨率如何修改   手机必须获得ROOT权限,接着你需要确定手机的显示density和分辨率,desity的意思就是密度,在安卓系统中,desity是一个非常重要的显示参数。如果density设置不当,比如density设置过高,可能会使字体和其他一些UI显示得很小,而如果高分屏设置density过低,也可能会使字体和其他UI显得过大,甚至影响App...
标签: 电脑入门
说在前面:分辨率又称解析度,一般理解为屏幕显示像素的多少,以1024*768为例,这个分辨率表达的意思是,屏幕将有横向1024行竖向768行点阵组成,我们看到的各种文字、图片、窗口等都是有这些一个个的点阵组成。一般认为,屏幕分辨率越高图像的精细度越高,但是,并不是每一个显示屏都能支持无限的高,相反,过高的分辨率设置会使文字和图像变小...
标签: windows系统
Win8修改屏幕分辨率的方法   一般情况下电脑安装系统后会自动设置分辨率,但是有些时候我们运行软件或误操作会造成系统分辨率而有所改变,这个时候我们就需要调整分辨率还适应电脑屏幕,尤其是在win8系统下,对于分辨率的要求非常高,因为有些程序需要在特定的分辨率下运行,那么当遇到win8分辨率出现问题的时候应该如何修改分辨率呢?...

经验教程

446

收藏

92
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部