• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    VB中利用API函數實現屏幕顏色數設定

    發布: 2007-5-25 09:19 | 作者: 未知 | 來源: 中國vb網 | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網  原則上,只改這一次,下一次開機會還原,但如果需重開機,才會Update Registry中的設定,并重開機。

      如果要永久設定其設定值,請將

    b = ChangeDisplaySettings(DevM, 0)

      改成

    b = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)

      注:

      DevM.dmBitsPerPel 便是設定顏色數,其實應說每個Pixel要多少Bits來顯示

      4 --> 16色
      8 --> 256色
      16 --> 65536色 以此類推

    Option Explicit
    Private Declare Function EnumDisplaySettings Lib "user32" Alias _
    "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, _
    ByVal iModeNum As Long, lpDevMode As Any) As Long

    Private Declare Function ChangeDisplaySettings Lib "user32" Alias _
    "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
    Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _
    ByVal dwReserved As Long) As Long

    Const EWX_REBOOT = 2 ’ 重開機
    Const CCDEVICENAME = 32
    Const CCFORMNAME = 32

    Const DM_BITSPERPEL = &H40000
    Const DISP_CHANGE_SUCCESSFUL = 0
    Const DISP_CHANGE_RESTART = 1
    Const CDS_UPDATEREGISTRY = 1
    Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer

    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer

    dmFormName As String * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    End Type
    Private DevM As DEVMODE
    Private Sub Command1_Click()
    Dim a As Boolean
    Dim i As Long
    Dim b As Long
    Dim ans As Long
    a = EnumDisplaySettings(0, 0, DevM) ’Initial Setting
    DevM.dmBitsPerPel = 8 ’設定成256色
    DevM.dmFields = DM_BITSPERPEL
    b = ChangeDisplaySettings(DevM, 0)
    If b = DISP_CHANGE_RESTART Then
     ans = MsgBox("要重開機設定才能完成,重開?", vbOKCancel)
     If ans = 1 Then
      b = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
      Call ExitWindowsEx(EWX_REBOOT, 0)
     End If
    Else
     If b <> DISP_CHANGE_SUCCESSFUL Then
      Call MsgBox("設定有誤", vbCritical)
     End If
    End If
    End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>