原则上,只改这一次,下一次开机会还原,但如果需重开机,才会Update Registry中的设定,并重开机。 如果要永久设定其设定值,请将b = ChangeDisplaySettings(DevM, 0) 改成b = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY) 注: DevM.dmBitsPerPel 便是设定颜色数,其实应说每个Pixel要多少Bits来显示 4 --> 16色 8 --> 256色 16 --> 65536色 以此类推Option ExplicitPrivate Declare Function EnumDisplaySettings Lib "user32" Alias _"EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, _ByVal iModeNum As Long, lpDevMode As Any) As LongPrivate Declare Function ChangeDisplaySettings Lib "user32" Alias _"ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As LongPrivate Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _ByVal dwReserved As Long) As LongConst EWX_REBOOT = 2 ’ 重开机Const CCDEVICENAME = 32Const CCFORMNAME = 32Const DM_BITSPERPEL = &H40000Const DISP_CHANGE_SUCCESSFUL = 0Const DISP_CHANGE_RESTART = 1Const CDS_UPDATEREGISTRY = 1Private Type DEVMODEdmDeviceName As String * CCDEVICENAMEdmSpecVersion As IntegerdmDriverVersion As IntegerdmSize As IntegerdmDriverExtra As IntegerdmFields As LongdmOrientation As IntegerdmPaperSize As IntegerdmPaperLength As IntegerdmPaperWidth As IntegerdmScale As IntegerdmCopies As IntegerdmDefaultSource As IntegerdmPrintQuality As IntegerdmColor As IntegerdmDuplex As IntegerdmYResolution As IntegerdmTTOption As IntegerdmCollate As IntegerdmFormName As String * CCFORMNAMEdmUnusedPadding As IntegerdmBitsPerPel As IntegerdmPelsWidth As LongdmPelsHeight As LongdmDisplayFlags As LongdmDisplayFrequency As LongEnd TypePrivate DevM As DEVMODEPrivate Sub Command1_Click()Dim a As BooleanDim i As LongDim b As LongDim ans As Longa = EnumDisplaySettings(0, 0, DevM) ’Initial SettingDevM.dmBitsPerPel = 8 ’设定成256色DevM.dmFields = DM_BITSPERPELb = 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 IfElse If b <> DISP_CHANGE_SUCCESSFUL Then Call MsgBox("设定有误", vbCritical) End IfEnd IfEnd Sub
转载请注明原文地址: https://ibbs.8miu.com/read-27367.html