转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
在VB.NET中改变显示器的分辩率         ★★★★

在VB.NET中改变显示器的分辩率

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1297 更新时间:2009/4/23 19:01:34

 

VB.NET中改变显示器的分辩率

 

微软MVP 李洪根

 

在VB.NET中,我们很容易获得显示器的分辩率,但是,要改变显示器的分辩率就比较麻烦了。由于.NET的类库没有将EnumDisplaySettings 和ChangeDisplaySettings这两个API函数进行封装,但是我们得调用它们函数,相对于VB6来说,VB.NET调用API函数是有一些小的改动!

       下面,我们就尝试一下在VB.NET中,使用这两个API函数。

       新建一个项目,在Form1上添加两个按钮,一个名为btnGetDisp,将其Text属性设置为“得到分辩率”;另一个按钮名为btnSetDisp,Text属性为“设置分辩率”。然后在代码窗口里添加以下代码:

 

    Private Const CCDEVICENAME As Short = 32

    Private Const CCFORMNAME As Short = 32

    Private Const DM_PELSWIDTH As Integer = &H80000

    Private Const DM_PELSHEIGHT As Integer = &H100000

    ''''刷新频率常量

    Private Const DM_DISPLAYFREQUENCY As Integer = &H400000

 

    ''''调用API函数

    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE) As Boolean

    ''''调用API函数

    Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwflags As Integer) As Integer

 

    ''''定义结构

    Private Structure DEVMODE

        <VBFixedString(CCDEVICENAME), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=CCDEVICENAME)> Public dmDeviceName As String

        Dim dmSpecVersion As Short

        Dim dmDriverVersion As Short

        Dim dmSize As Short

        Dim dmDriverExtra As Short

        Dim dmFields As Integer

        Dim dmOrientation As Short

        Dim dmPaperSize As Short

        Dim dmPaperLength As Short

        Dim dmPaperWidth As Short

        Dim dmScale As Short

        Dim dmCopies As Short

        Dim dmDefaultSource As Short

        Dim dmPrintQuality As Short

        Dim dmColor As Short

        Dim dmDuplex As Short

        Dim dmYResolution As Short

        Dim dmTTOption As Short

        Dim dmCollate As Short

        <VBFixedString(CCFORMNAME), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=CCFORMNAME)> Public dmFormName As String

        Dim dmUnusedPadding As Short

        Dim dmBitsPerPel As Short

        Dim dmPelsWidth As Integer

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台