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

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

開發(fā) 后端
VB.NET變更顯示器分辨率的實(shí)現(xiàn),可以使用幾個(gè)相關(guān)函數(shù)來(lái)進(jìn)行操作。而且利用VB.NET語(yǔ)言機(jī)進(jìn)行這一功能的實(shí)現(xiàn),其操作步驟非常簡(jiǎn)單。

VB.NET中的各種特點(diǎn)極大的吸引了開發(fā)人員的眼球。當(dāng)我們想要利用這款語(yǔ)言進(jìn)行移動(dòng)設(shè)備的操作時(shí),將會(huì)發(fā)現(xiàn)其應(yīng)用方式是非常簡(jiǎn)單的。那么我們就一起來(lái)看看VB.NET變更顯示器分辨率的相關(guān)操作。#t#

在VB.NET中,我們很容易獲得顯示器的分辯率,但是,要改變顯示器的分辯率就比較麻煩了。由于.NET的類庫(kù)沒(méi)有將EnumDisplaySettings 和ChangeDisplaySettings這兩個(gè)API函數(shù)進(jìn)行封裝,但是我們得調(diào)用它們函數(shù),相對(duì)于VB6來(lái)說(shuō),VB.NET調(diào)用API函數(shù)是有一些小的改動(dòng)!

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

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

  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  

調(diào)用API函數(shù)實(shí)現(xiàn)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  

調(diào)用API函數(shù)

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

定義結(jié)構(gòu)進(jìn)行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  

改變分辯率過(guò)程,參數(shù)一寬度,參數(shù)二高度

  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("您確認(rèn)要將顯示器分辨率改
    為1024x768嗎?", MsgBoxStyle.OKCancel, 
    "系統(tǒng)消息") = MsgBoxResult.OK Then   
  12. '調(diào)用改變分辯率過(guò)程   
  13. ChangeDisp(1024, 768)   
  14. End If   
  15. End Sub  

VB.NET變更顯示器分辨率的程序運(yùn)行后,點(diǎn)擊設(shè)置分辯率,將會(huì)把顯示器分辨率改為1024x768。

責(zé)任編輯:曹凱 來(lái)源: IT168
相關(guān)推薦

2009-10-27 15:49:11

VB.NET分辯率

2010-01-18 10:13:08

VB.NET獲取CPU

2017-07-24 10:42:34

顯示器分辨率落幕

2009-10-15 17:50:48

VB.NET調(diào)用API

2010-01-11 15:12:30

VB.NET特殊窗體

2010-01-13 18:28:21

VB.NET歷史菜單

2021-09-24 10:25:44

蘋果MacBook PromacOS

2018-03-02 15:39:18

顯示器分辨率主流

2022-02-21 21:37:42

辦公顯示器分辨率

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拖放

2018-09-28 16:06:50

顯示器參數(shù)分辨率

2009-10-29 15:02:04

VB.NET文件排序

2009-11-03 09:37:33

VB.NET重載

2010-01-18 19:36:52

VB.NET調(diào)整控件

2010-01-11 18:40:03

VB.NET操作注冊(cè)表

2010-01-14 10:07:08

VB.NET文件名排序

2009-11-02 15:49:23

VB.NET顯示系統(tǒng)信
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品一区二区视频 | 欧美日韩精品一区 | av黄色在线| 91激情视频 | 九九热九九 | 亚洲女优在线播放 | 成人午夜精品 | 请别相信他免费喜剧电影在线观看 | 91亚洲国产亚洲国产 | 欧美国产免费 | 99视频在线免费观看 | 一本一道久久a久久精品综合蜜臀 | 国产精品欧美一区二区 | 91欧美| 色本道 | 日韩一二区在线 | 黄色片免费看 | 91久久精品日日躁夜夜躁国产 | 91精品久久久久久久久 | 亚洲午夜电影 | 一区二区免费在线 | 日本一二三区在线观看 | 成人免费视频网站在线观看 | 黄色精品视频网站 | 欧美久久一区二区 | 91成人在线 | 成人免费一区二区三区视频网站 | 欧美日韩在线观看视频网站 | 在线播放亚洲 | 视频在线h | 人人九九精 | 日日夜夜天天 | 一区二区三区小视频 | 久久久久久久综合色一本 | 免费成人在线网站 | 综合精品久久久 | 精品综合| 欧美日韩视频 | aⅴ色国产 欧美 | 草草精品 | 亚洲一区二区在线视频 |