vb中修改屏幕分辨率

在窗体上画一个按钮和四个文本框,运行如下代码:启动时,显示相应数据。修改后,单击按钮改变设置。
   

  
  
  
  
  1. Option Explicit  
  2. Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As LongByVal nIndex As LongAs Long 
  3. Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As LongAs Long 
  4. Private Const CCDEVICENAME As Long = 32  
  5. Private Const CCFORMNAME As Long = 32  
  6.  
  7. Private Const DM_BITSPERPEL As Long = &H40000  
  8. Private Const DM_PELSWIDTH As Long = &H80000  
  9. Private Const DM_PELSHEIGHT As Long = &H100000  
  10. Private Const DM_DISPLAYFLAGS As Long = &H200000  
  11. Private Const DM_DISPLAYFREQUENCY = &H400000  
  12.  
  13. Private Const CDS_FORCE As Long = &H80000000  
  14.  
  15. Private Const BITSPIXEL As Long = 12  
  16. Private Const HORZRES As Long = 8  
  17. Private Const VERTRES As Long = 10  
  18. Private Const VREFRESH = 116  
  19.  
  20. Private Type DEVMODE  
  21.    dmDeviceName      As String * CCDEVICENAME  
  22.    dmSpecVersion     As Integer 
  23.    dmDriverVersion   As Integer 
  24.    dmSize            As Integer 
  25.    dmDriverExtra     As Integer 
  26.    dmFields          As Long 
  27.    dmOrientation     As Integer 
  28.    dmPaperSize       As Integer 
  29.    dmPaperLength     As Integer 
  30.    dmPaperWidth      As Integer 
  31.    dmScale           As Integer 
  32.    dmCopies          As Integer 
  33.    dmDefaultSource   As Integer 
  34.    dmPrintQuality    As Integer 
  35.    dmColor           As Integer 
  36.    dmDuplex          As Integer 
  37.    dmYResolution     As Integer 
  38.    dmTTOption        As Integer 
  39.    dmCollate         As Integer 
  40.    dmFormName        As String * CCFORMNAME  
  41.    dmUnusedPadding   As Integer 
  42.    dmBitsPerPel      As Integer 
  43.    dmPelsWidth       As Long 
  44.    dmPelsHeight      As Long 
  45.    dmDisplayFlags    As Long 
  46.    dmDisplayFrequency As Long 
  47. End Type  
  48.  
  49. Private Sub command1_Click()  
  50.  
  51.     Dim DM As DEVMODE  
  52.           
  53.     With DM  
  54.        .dmPelsWidth = CInt(Text1.Text)  
  55.        .dmPelsHeight = CInt(Text2.Text)  
  56.        .dmBitsPerPel = CInt(Text3.Text)  
  57.        .dmDisplayFrequency = CInt(Text4.Text)  
  58.        .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL Or DM_DISPLAYFREQUENCY  
  59.        .dmSize = LenB(DM)  
  60.     End With 
  61.       
  62.     If ChangeDisplaySettings(DM, CDS_FORCE) <> 0 Then 
  63.       
  64.         MsgBox "错误!不支持此模式!" 
  65.           
  66.     End If 
  67.  
  68. End Sub 
  69.  
  70. Private Sub Form_Load()  
  71.    Text1.Text = GetDeviceCaps(Me.hdc, HORZRES)  
  72.    Text2.Text = GetDeviceCaps(Me.hdc, VERTRES)  
  73.    Text3.Text = GetDeviceCaps(Me.hdc, BITSPIXEL)  
  74.    Text4.Text = GetDeviceCaps(Me.hdc, VREFRESH)  
  75. End Sub 

你可能感兴趣的:(职场,vb,屏幕,分辨率,休闲)