日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
輕松完成VB.NET變更顯示器分辨率

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

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

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

新建一個項目,在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  

調(diào)用API函數(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  

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

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


當前名稱:輕松完成VB.NET變更顯示器分辨率
當前URL:http://www.5511xx.com/article/dheiggg.html