偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

在VB.NET中,我們很容易獲得顯示器的分辯率,但是,要改變顯示器的分辯率就比較麻煩了。由于.NET的類庫(kù)沒有將EnumDisplaySettings 和ChangeDisplaySettings這兩個(gè)API函數(shù)進(jìn)行封裝,但是我們得調(diào)用它們函數(shù),相對(duì)于VB6來說,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  

改變分辯率過程,參數(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)用改變分辯率過程   
  13. ChangeDisp(1024, 768)   
  14. End If   
  15. End Sub  

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

責(zé)任編輯:曹凱 來源: 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)