成人免费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-23 13:14:38

2009-10-21 16:00:26

VB.NET CASE

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2009-10-29 14:02:24

VB和VB.NET比較

2009-11-02 16:22:16

VB.NET面向對象

2009-10-13 15:09:19

VB.NET使用Tre

2009-10-27 16:52:41

VB.NET文件傳輸

2009-10-12 13:54:22

VB.NET Data

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-23 13:10:14

VB.NET List

2010-01-18 18:20:49

VB.NET使用API

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2010-01-14 14:21:07

2009-10-28 10:15:48

VB.NET框架類庫

2010-01-22 15:37:02

VB.NET監控類

2009-10-12 16:51:28

VB.NET使用Ora
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色网页在线 | 色www精品视频在线观看 | 91网在线播放| 亚洲欧美日韩系列 | 高清人人天天夜夜曰狠狠狠狠 | 欧美日韩中文在线 | 一区二区视屏 | 99久久久久久99国产精品免 | 国产激情91久久精品导航 | 亚洲一区二区在线播放 | 91www在线观看 | 在线看片国产精品 | 欧美日韩视频 | 欧美男人的天堂 | 日韩欧美久久精品 | 免费黄色av| 欧美群妇大交群中文字幕 | 国产第1页 | 久久久亚洲一区 | 久久99精品久久久久久国产越南 | 国产精品一区二区久久 | 亚洲成av人片在线观看无码 | 中文字幕综合 | 九九久久精品 | 午夜一区 | 成人av免费| 美日韩免费视频 | 精国产品一区二区三区四季综 | 一区二区三区四区在线视频 | 亚洲国产精品视频一区 | 欧美精品99 | 国产乱码一二三区精品 | 日韩伦理一区二区 | 久久久成人一区二区免费影院 | 日韩欧美一区二区三区在线播放 | 亚洲成av人片在线观看 | 欧美精品一区二区三区在线播放 | 91影视| av黄色在线观看 | 中文字幕精品一区二区三区精品 | 国产精品免费一区二区三区 |