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

剖析講解VB.NET分辯率案例

開發 后端
在VB.NET中得到顯示器的分辨率很容易,調試就是一個很麻煩的事,文章實例利用兩個api函數來解決VB.NET分辯率的問題,快看看吧!

使用VB.NET開發的程序員知道很容易獲得顯示器的分辯率,但是,要改變VB.NET分辯率是一件很讓人頭疼的事。由于VB.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  
  5. '刷新頻率常量  
  6. private Const DM_DISPLAYFREQUENCY As Integer = &H400000  
  7. '調用API函數  
  8. private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE) As Boolean  
  9. '調用api函數  
  10. private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwflags As Integer) As Integer  
  11. '定義結構  
  12. private Structure DEVMODE  
  13. <vbfixedstring(ccdevicename), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=CCDEVICENAME)> Public dmDeviceName  
  14. As  
  15. String  
  16. dim dmSpecVersion As Short  
  17. dim dmDriverVersion As Short  
  18. dim dmSize As Short  
  19. dim dmDriverExtra As Short  
  20. dim dmFields As Integer  
  21. dim dmOrientation As Short  
  22. dim dmPaperSize As Short  
  23. dim dmPaperLength As Short  
  24. dim dmPaperWidth As Short  
  25. dim dmScale As Short  
  26. dim dmCopies As Short  
  27. dim dmDefaultSource As Short  
  28. dim dmPrintQuality As Short  
  29. dim dmColor As Short  
  30. dim dmDuplex As Short  
  31. dim dmYResolution As Short  
  32. dim dmTTOption As Short  
  33. dim dmCollate As Short  
  34. <vbfixedstring(ccformname), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=CCFORMNAME)> Public dmFormName As String  
  35. dim dmUnusedPadding As Short  
  36. dim dmBitsPerPel As Short  
  37. dim dmPelsWidth As Integer  
  38. dim dmPelsHeight As Integer  
  39. dim dmDisplayFlags As Integer  
  40. dim dmDisplayFrequency As Integer  
  41. end Structure   
  42. '改變分辯率過程,參數一寬度,參數二高度  
  43. private Sub ChangeDisp(ByRef iWidth As Single, ByRef iHeight As Single)  
  44. dim blnWorked As Boolean  
  45. dim i As Integer  
  46. dim DevM As Form1.DEVMODE  
  47. i = 0 
  48. do  
  49. blnworked = EnumDisplaySettings(0, i, DevM)  
  50. ii = i + 1  
  51. loop Until (blnWorked = False)  
  52. with DevM  
  53. .dmfields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_DISPLAYFREQUENCY  
  54. .dmpelswidth = iWidth 
  55. .dmpelsheight = iHeight 
  56. '刷新頻率為85  
  57. .dmdisplayfrequency = 85   
  58. end With  
  59. call ChangeDisplaySettings(DevM, 0)  
  60. end Sub  
  61. private Sub btnGetDisp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetDisp.Click  
  62. dim X As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width  
  63. dim Y As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height  
  64. msgbox("您的顯示器分辨率是" & X & " X " & Y)  
  65. end Sub  
  66. private Sub btnSetDisp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetDisp.Click  
  67. if MsgBox("您確認要將顯示器分辨率改為1024x768嗎?", MsgBoxStyle.OKCancel, "系統消息") = MsgBoxResult.OK Then  
  68. '調用改變分辯率過程  
  69. changedisp(1024, 768)  
  70. end If  
  71. end Sub 

程序運行所示,點擊設置VB.NET分辯率,將會把顯示器分辨率改為1024x768,刷新頻率為85,是不是很簡單?

【編輯推薦】

  1. 實例講述VB.NET使用Log4Net
  2. 三分鐘學會VB.NET轉換形態
  3. VB.NET獲取硬盤信息四大法寶
  4. 講述VB.NET調用Excel的好處
  5. 簡單例子概述VB.NET新窗體
責任編輯:田樹 來源: 博客
相關推薦

2009-10-15 17:50:48

VB.NET調用API

2009-10-28 11:27:34

VB.NET資源文件

2009-10-21 16:00:26

VB.NET CASE

2009-10-23 13:14:38

2009-10-29 14:02:24

VB和VB.NET比較

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2009-10-13 15:09:19

VB.NET使用Tre

2009-11-02 16:22:16

VB.NET面向對象

2009-10-27 16:52:41

VB.NET文件傳輸

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2010-01-18 18:20:49

VB.NET使用API

2009-10-12 13:54:22

VB.NET Data

2009-10-23 13:10:14

VB.NET List

2009-10-15 11:42:05

VB.Net賦值語句

2010-01-12 11:47:09

VB.NET可選參數

2010-01-21 12:55:08

VB.NET對象序列

2009-10-29 11:41:27

VB.NET寫Obje

2010-01-14 14:21:07

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品在线观看 | 久久精品国产亚洲 | 日韩久久久久久 | 精品久久一 | 久久亚洲综合 | 国产99视频精品免费视频7 | 精品国产一区二区三区久久久四川 | 蜜桃传媒一区二区 | 日本久久精| 午夜影视大全 | 欧美一区2区三区3区公司 | 欧美精品日韩 | 国产精品第2页 | 色综合网站| 国产成人av在线 | 国产精品一区二区三区在线 | 91精品国产99久久 | 欧美视频成人 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 一区二区三区四区av | 久久久久久国产 | 亚洲一区二区三区在线免费 | 国产精品视频网 | 91在线视频在线观看 | 欧美极品在线观看 | 久久久久国 | 成人国产毛片 | 精品在线一区二区 | 亚洲免费一区二区 | 毛色毛片免费看 | 亚洲欧美日韩一区二区 | 伊人久久免费视频 | 羞羞色视频 | 91亚洲国产成人久久精品网站 | 国产香蕉视频在线播放 | av一级毛片 | 国产精品一区二区三 | 久久久久久久一区 | 91精品国产综合久久久动漫日韩 | 一级在线观看 | 日本一道本视频 |