成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

輕松完成VB.NET變更顯示器分辨率

開發 后端
VB.NET變更顯示器分辨率的實現,可以使用幾個相關函數來進行操作。而且利用VB.NET語言機進行這一功能的實現,其操作步驟非常簡單。

VB.NET中的各種特點極大的吸引了開發人員的眼球。當我們想要利用這款語言進行移動設備的操作時,將會發現其應用方式是非常簡單的。那么我們就一起來看看VB.NET變更顯示器分辨率的相關操作。#t#

在VB.NET中,我們很容易獲得顯示器的分辯率,但是,要改變顯示器的分辯率就比較麻煩了。由于.NET的類庫沒有將EnumDisplaySettings 和ChangeDisplaySettings這兩個API函數進行封裝,但是我們得調用它們函數,相對于VB6來說,VB.NET調用API函數是有一些小的改動!

下面,我們就嘗試一下在VB.NET變更顯示器分辨率中,使用這兩個API函數。

新建一個項目,在Form1上添加兩個按鈕,一個名為btnGetDisp,將其Text屬性設置為“得到分辯率”;另一個按鈕名為btnSetDisp,Text屬性為“設置分辯率”。然后在代碼窗口里添加以下代碼:

  1. Private Const CCDEVICENAME 
    As 
    Short = 32   
  2. Private Const CCFORMNAME 
    As 
    Short = 32   
  3. Private Const DM_PELSWIDTH 
    As 
    Integer = &H80000   
  4. Private Const DM_PELSHEIGHT 
    As 
    Integer = &H100000  

刷新頻率常量

  1. Private Const DM_
    DISPLAYFREQUENCY As 
    Integer = &H400000  

調用API函數實現VB.NET變更顯示器分辨率

  1. Private Declare Function 
    EnumDisplaySettings Lib 
    "user32" Alias "EnumDis
    playSettingsA"   
  2. (ByVal lpszDeviceName As 
    Integer, ByVal iModeNum As 
    Integer, ByRef lpDevMode 
    As DEVMODE) As Boolean  

調用API函數

  1. Private Declare Function 
    ChangeDisplaySettings Lib 
    "user32" Alias "Change
    DisplaySettingsA"   
  2. (ByRef lpDevMode As 
    DEVMODE, ByVal dwflags 
    As Integer) As Integer  

定義結構進行VB.NET變更顯示器分辨率的操作

  1. Private Structure DEVMODE   
  2. < VBFixedString(CCDEVICENAME), 
    System.Runtime.InteropServices.
    MarshalAs   
  3. (System.Runtime.InteropServices.
    UnmanagedType.ByValTStr, 
    SizeConst:=CCDEVICENAME)> 
    Public dmDeviceName As String   
  4. Dim dmSpecVersion As Short   
  5. Dim dmDriverVersion As Short   
  6. Dim dmSize As Short   
  7. Dim dmDriverExtra As Short   
  8. Dim dmFields As Integer   
  9. Dim dmOrientation As Short   
  10. Dim dmPaperSize As Short   
  11. Dim dmPaperLength As Short   
  12. Dim dmPaperWidth As Short   
  13. Dim dmScale As Short   
  14. Dim dmCopies As Short   
  15. Dim dmDefaultSource As Short   
  16. Dim dmPrintQuality As Short   
  17. Dim dmColor As Short   
  18. Dim dmDuplex As Short   
  19. Dim dmYResolution As Short   
  20. Dim dmTTOption As Short   
  21. Dim dmCollate As Short   
  22. < VBFixedString(CCFORMNAME), 
    System.Runtime.InteropServices
    .MarshalAs   
  23. (System.Runtime.InteropServices
    .UnmanagedType.ByValTStr, 
    SizeConst:=CCFORMNAME)> 
    Public dmFormName As String   
  24. Dim dmUnusedPadding As Short   
  25. Dim dmBitsPerPel As Short   
  26. Dim dmPelsWidth As Integer   
  27. Dim dmPelsHeight As Integer   
  28. Dim dmDisplayFlags As Integer   
  29. Dim dmDisplayFrequency As Integer   
  30. End Structure  

改變分辯率過程,參數一寬度,參數二高度

  1. Private Sub ChangeDisp(ByRef 
    iWidth As Single, ByRef 
    iHeight As Single)   
  2. Dim blnWorked As Boolean   
  3. Dim i As Integer   
  4. Dim DevM As Form1.DEVMODE   
  5. i = 0   
  6. Do   
  7. blnWorked = EnumDisplaySettings
    (0, i, DevM)   
  8. ii = i + 1   
  9. Loop Until (blnWorked = False)   
  10. With DevM   
  11. .dmFields = DM_PELSWIDTH Or 
    DM_PELSHEIGHT Or DM_DISPLAYFREQUENCY   
  12. .dmPelsWidth = iWidth   
  13. .dmPelsHeight = iHeight  

刷新頻率為85

  1. .dmDisplayFrequency = 85   
  2. End With   
  3. Call ChangeDisplaySettings
    (DevM, 0)   
  4. End Sub   
  5. Private Sub btnGetDisp_Click
    (ByVal sender As System.Object, 
    ByVal e As System.EventArgs) 
    Handles btnGetDisp.Click   
  6. Dim X As Short = System.Windows
    .Forms.Screen.PrimaryScreen.
    Bounds.Width   
  7. Dim Y As Short = System.Windows.
    Forms.Screen.PrimaryScreen.
    Bounds.Height   
  8. MsgBox("您的顯示器分辨率是" & 
    X & " X " & Y)   
  9. End Sub   
  10. Private Sub btnSetDisp_Click(ByVal 
    sender As System.Object, 
    ByVal e As System.EventArgs) 
    Handles btnSetDisp.Click   
  11. If MsgBox("您確認要將顯示器分辨率改
    為1024x768嗎?", MsgBoxStyle.OKCancel, 
    "系統消息") = MsgBoxResult.OK Then   
  12. '調用改變分辯率過程   
  13. ChangeDisp(1024, 768)   
  14. End If   
  15. End Sub  

VB.NET變更顯示器分辨率的程序運行后,點擊設置分辯率,將會把顯示器分辨率改為1024x768。

責任編輯:曹凱 來源: IT168
相關推薦

2009-10-27 15:49:11

VB.NET分辯率

2010-01-18 10:13:08

VB.NET獲取CPU

2009-10-15 17:50:48

VB.NET調用API

2017-07-24 10:42:34

顯示器分辨率落幕

2010-01-11 15:12:30

VB.NET特殊窗體

2010-01-13 18:28:21

VB.NET歷史菜單

2021-09-24 10:25:44

蘋果MacBook PromacOS

2010-01-14 11:00:48

VB.NET文件合并

2009-10-30 14:45:42

Flash控制VB.N

2010-01-14 13:59:01

2010-01-13 17:47:59

VB.NET拖放

2009-10-29 15:02:04

VB.NET文件排序

2009-11-03 09:37:33

VB.NET重載

2018-03-02 15:39:18

顯示器分辨率主流

2022-02-21 21:37:42

辦公顯示器分辨率

2018-09-28 16:06:50

顯示器參數分辨率

2010-01-18 19:36:52

VB.NET調整控件

2010-01-14 10:07:08

VB.NET文件名排序

2010-01-11 18:40:03

VB.NET操作注冊表

2009-11-02 15:49:23

VB.NET顯示系統信
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲电影一区 | 日日日操 | 久草中文在线观看 | av在线免费观看网站 | 色就干 | 91精品国产综合久久久久久 | 成人在线精品视频 | 日韩中文字幕一区 | 性色av香蕉一区二区 | 日韩成人在线观看 | 国产传媒在线播放 | 日韩在线视频精品 | 久久久久成人精品 | 久久91精品 | 日日噜| 久久中文字幕一区 | 欧美视频三级 | 国偷自产av一区二区三区 | 夜夜精品视频 | 亚洲一区中文字幕 | 欧美自拍第一页 | 免费av观看 | 国产一区二区观看 | 久久综合亚洲 | 国产精品欧美一区二区三区不卡 | 成人在线观看亚洲 | 久久国产免费看 | 国产精品一级 | 亚洲精品一区二区冲田杏梨 | 国产资源在线观看 | 亚洲综合在线视频 | 国产成人精品免高潮在线观看 | 精品国产一区二区在线 | av在线伊人 | 亚洲视频第一页 | 成人高清在线 | 久久久久久久一区 | 丁香婷婷成人 | 99亚洲精品 | 综合一区 | 免费一看一级毛片 |