Option Explicit
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
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 * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Dim DevM As DEVMODE
Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim a As Boolean
Dim i As Integer
Dim b As Long
i = 0
Do
a = EnumDisplaySettings(0&, i, DevM)
i = i + 1
Loop Until (a = False)
DevM.dmFields = DM_PELSWIDTH or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
ChangeDisplaySettings DevM, 0
End Sub
Private Sub Command1_Click()
Dim x As String
Dim y As String
If Val(x) <> 1024 or Val(y) <> 768 Then
Call ChangeRes(1024, 768)
End If
x = CStr(GetSystemMetrics(SM_CXSCREEN))
y = CStr(GetSystemMetrics(SM_CYSCREEN))
Me.Caption = "当前显示器分辨率: " & x & "x" & y
End Sub
Private Sub Form_Load()
Dim x As String
Dim y As String
x = CStr(GetSystemMetrics(SM_CXSCREEN))
y = CStr(GetSystemMetrics(SM_CYSCREEN))
Me.Caption = "当前显示器分辨率: " & x & "x" & y
Call ChangeRes(800, 600) '将分辨率设置成800*600
End Sub
分享到:
相关推荐
VB 窗体自适应屏幕分辨率大小是指在 VB 中使窗体可以根据屏幕分辨率的变化而自适应调整大小,以确保窗体在不同屏幕分辨率下的正确显示。本文将详细介绍如何实现 VB 窗体的自适应屏幕分辨率大小。 一、实现 VB 窗体...
在Visual Basic 6.0(VB6)编程中,获取和设置显示器分辨率是常见的系统交互操作,这通常涉及到与Windows API(应用程序接口)的交互。API是操作系统提供给程序员的一组函数,允许程序访问和控制操作系统的核心功能...
在VB(Visual Basic)编程中,获取屏幕分辨率是一项常见的任务,尤其在开发桌面应用程序时,了解用户显示器的尺寸有助于提供良好的界面布局。本篇将详细解释如何使用VB代码来获取屏幕分辨率,并涉及到WIM(Windows ...
vb源码,可以直接获取屏幕分辨率,另外也可设置新的屏幕分辨率,还可还原到最初的屏幕分辨率,可允许100次重复设置与撤销设置屏幕分辨率(当然很少有人需要如此大数量级的重复与撤销),并且允许快捷键Ctrl+Z撤销...
总结来说,VB获取电脑屏幕分辨率的这项功能是通过`System.Windows.Forms.Screen`类实现的,它可以提供关于显示器的各种信息。对于VB新手来说,掌握这部分知识有助于提高编程技能,能够编写出更符合用户需求的应用...
在VB(Visual Basic)编程环境中,修改电脑屏幕分辨率是一项常见的任务,尤其在自动化脚本或者系统设置程序中。VB提供了一种与操作系统交互的方式,通过Windows API(应用程序接口)来改变显示器的设置。以下是关于...
在VB中,我们可以调用Windows操作系统提供的API函数来设置屏幕分辨率。其中,最常用的API函数是`ChangeDisplaySettings`,它属于`User32.dll`库。首先,我们需要声明这个函数: ```vb Private Declare Function ...
在VB6(Visual Basic 6)中,程序员可以利用API(应用程序编程接口)函数来实现对计算机屏幕分辨率的控制。屏幕分辨率是指屏幕上像素点的数量,通常以宽度*高度的形式表示,例如1920*1080。通过编写特定的代码,我们...
这个“VB.NET屏幕分辨率设置源码”项目为开发者提供了一个很好的学习示例,它展示了如何使用VB.NET语言来操作系统的显示设置。 首先,我们需要了解Windows API。API是操作系统提供给开发者的函数库,它允许应用程序...
3. **获取当前屏幕设置**:使用EnumDisplaySettings函数获取当前的屏幕分辨率和颜色深度等信息,这有助于在用户恢复默认设置时使用。 4. **设置新的屏幕分辨率**:根据用户的选择,修改DEVMODE结构体中的分辨率字段...
本文将详细介绍如何利用Visual Basic (VB)结合Windows API来实现对屏幕分辨率的设置。 #### Windows API与VB集成 Windows API(Application Programming Interface)是微软提供的一系列用于开发Windows应用程序的...
在VB(Visual Basic)编程环境中,我们可以利用API(应用程序接口)函数来实现调整计算机屏幕分辨率的功能。这是一项实用的技术,特别是在开发系统设置相关的应用程序时。本文将深入探讨如何使用VB来调整屏幕分辨率...
API允许VB代码与操作系统进行更深入的交互,获取系统级事件,例如屏幕分辨率的改变。 1. **注册窗口消息**: 使用`RegisterWindowMessage`函数创建一个自定义的消息ID,用于接收屏幕分辨率改变的通知。这需要在...
在VB(Visual Basic)编程中,创建一个能够适应不同分辨率的窗体界面是提升用户体验的重要环节。当用户在不同尺寸的显示器上运行程序时,一个能够自动调整大小和布局的界面将显得更加友好。本篇将详细探讨如何利用VB...
在这个小例子中,开发者可能会使用`Screen`对象或调用Windows API函数来获取屏幕分辨率。`Screen`对象是VB内置的对象,提供了关于用户屏幕的一些基本信息,包括工作区的宽度和高度。API调用则可能涉及像`...
#### 获取屏幕分辨率的方法 为了获取当前屏幕的分辨率,我们需要了解几个关键的概念和技术点: 1. **屏幕分辨率**:屏幕分辨率指的是显示器上水平和垂直方向上的像素数量。例如,800x600 表示屏幕宽度为 800 像素...
解决方案的基本思想是在VB 界面中添加一个通用的模块,通过该模块可以获取当前界面的控件信息,并根据当前的分辨率计算控件的位置和大小,从而实现界面的自适应调整。 首先,我们需要在VB 项目中新建一个模块...
这个“VB修改XP的显示分辨率”的程序就是利用了这样的技术,专为Windows XP系统设计,允许用户动态地调整屏幕分辨率和刷新率。下面将详细介绍这一知识点。 首先,VB中调用API函数需要导入相关的库。对于修改分辨率...
在这款程序中,可能包含了设置屏幕分辨率所用到的函数和过程,例如获取系统支持的分辨率列表、设置分辨率的API调用等。VB中的模块可以被项目中的所有窗体共享,提高代码的复用性。 `快速设定分辨率.EXE`是编译后的...
总之,VB090504-得到显示器分辨率的项目教会了我们如何使用Visual Studio 2008和.NET Framework来获取屏幕分辨率,这对于优化用户界面和提升应用的可移植性具有深远意义。通过深入理解和实践这部分内容,开发者可以...