教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> VB >> 编程实例 >> VB 修改分辨率(不用重启) RSS订阅
VB 修改分辨率(不用重启)
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   

将以下代码放一个模块里.

Option Explicit

Public Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwFlags As Long) As Long
Public Declare Function EnumDisplaySettings Lib "user32.dll" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, ByRef lpDevMode As DEVMODE) As Long

Const DM_PELSHEIGHT As Long = &H100000
Const DM_PEDTH As Long = &H80000
Const DM_BITSPERPEL As Long = &H40000
Const DM_DISPLAYFREQUENCY As Long = &H400000

Const CCHDEVICENAME As Long = 32
Const CCHFORMNAME As Long = 32
Const CDS_TEST = &H4

Private Type DEVMODE
    dmDeviceName As String * CCHDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCHFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPedth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type

'-------------------------------------------------------------------------------------------
'    LngWidth       //屏幕的宽(单位象素)
'    LngHeight      //屏幕的高(单位象素)
'    IntColor       //多少位颜色(e.g 16 or 32)
'    LngFrequency   //屏幕的刷新频率
'
'声明:
'  调用该函数时要确定所设置的值在系统所允许的设置范围内,比如系统的最大刷新频率位80,而你
' 用把LngFrequency设位85,这样将带来无法预测的后果。
'------------------------------------------------------------------------------------------
Public Function SetDisplaymode(LngWidth As Long, LngHeight As Long, IntColor As Integer, LngFrequency As Long) As Long
  Dim NewDevmode As DEVMODE
  Dim lngP As Long
  
      EnumDisplaySettings 0&, 0&, NewDevmode
      
  With NewDevmode
       .dmFields = DM_PELSHEIGHT Or DM_PEDTH Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY
       .dmPedth = LngWidth
       .dmPelsHeight = LngHeight
       .dmBitsPerPel = IntColor
       .dmDisplayFrequency = LngFrequency
  End With
  
      SetDisplaymode = ChangeDisplaySettings(NewDevmode, CDS_TEST)
End Function

然后在窗体中放一个按钮。
Private Sub Command1_Click()
SetDisplaymode 800, 600, 32, 85'修改为800X600,32色,85刷新率.
End Sub

来源:www.upschool.com.cn
作者:未知
关键字:VB,VB修改分辨率,分辨率修改
发表日期:2007-2-9 16:17:01

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:VB 让文本框只能输入数字   下一篇:VB 读取收藏夹里的URL地址


本文的相类似文章
  • VB读出一个进程中所有的模块名和模块路径
  • 用VB创建开始菜单快捷方式(无需其他DLL)
  • VB 将域名转换成IP地址
  • VB 获取系统26项配置信息
  • VB UTF-8编码转换
  • VB 打开记录集的参数
  • VB断开网络连接!API源码
  • VB 读取收藏夹里的URL地址
  • VB 修改分辨率(不用重启)
  • VB 让文本框只能输入数字
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com