日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
全面剖析VB.NET調(diào)用API函數(shù)

學(xué)習(xí)VB.NET時(shí),你可能會(huì)遇到VB.NET調(diào)用API函數(shù)問(wèn)題,這里將介紹VB.NET調(diào)用API函數(shù)問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。

創(chuàng)新互聯(lián),為您提供重慶網(wǎng)站建設(shè)公司、重慶網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)成都汽車(chē)玻璃修復(fù)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專(zhuān)業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

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

【編輯推薦】

  1. 簡(jiǎn)單分析VB.NET臨時(shí)文件
  2. 詳細(xì)描述VB.NET PadLeft方法
  3. VB.NET Shared變量經(jīng)驗(yàn)總結(jié)
  4. 全面講解VB.Net賦值語(yǔ)句
  5. 淺析VB.NET創(chuàng)建PPC客戶端程序

文章題目:全面剖析VB.NET調(diào)用API函數(shù)
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/copjsgs.html