VB中利用API函数实现屏幕颜色数设定

文章作者 100test 发表时间 2007:09:15 13:01:10
来源 100Test.Com百考试题网


  原则上,只改这一次,下一次开机会还原,但如果需重开机,才会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


相关文章


全国计算机等级考试二级C模拟试题一
要想成为编程高手就应该具备的八个条件
怎样可以从ACCE 中打印一个WORD文档
在Acce 中实现密码管理的另一种方式
VB中利用API函数实现屏幕颜色数设定
VB实现文字“闪入”显示的特殊效果
C 程序设计从零开始之何谓
计算机等级:7道经典C语言上机试题解析
使用Office2007前需要做的准备工作
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛