欢迎光临
我们一直在努力

动态改变屏幕设置_visualbasic教程

建站超值云服务器,限时71元/月

我们经常看到许多Win95的应用程序(尤其是游戏)在运行它的时候改变屏幕的设置,运行完后恢复,在VB中,我们可以用以下方法实现:
-定义
PrivateDeclareFunctionlstrcpy_
Lib”kernel32″Alias”lstrcpyA”_
(lpString1AsAny,lpString2AsAny)_
AsLong
ConstCCHDEVICENAME=32
ConstCCHFORMNAME=32
PrivateTypeDEVMODE
dmDeviceNameAsString*CCHDEVICENAME
dmSpecVersionAsInteger
dmDriverVersionAsInteger
dmSizeAsInteger
dmDriverExtraAsInteger
dmFieldsAsLong
dmOrientationAsInteger
dmPaperSizeAsInteger
dmPaperLengthAsInteger
dmPaperWidthAsInteger
dmScaleAsInteger
dmCopiesAsInteger
dmDefaultSourceAsInteger
dmPrintQualityAsInteger
dmColorAsInteger
dmDuplexAsInteger
dmYResolutionAsInteger
dmTTOptionAsInteger
dmCollateAsInteger
dmFormNameAsString*CCHFORMNAME
dmUnusedPaddingAsInteger
dmBitsPerPelAsInteger
dmPelsWidthAsLong
dmPelsHeightAsLong
dmDisplayFlagsAsLong
dmDisplayFrequencyAsLong
EndType
PrivateDeclareFunction_
ChangeDisplaySettingsLib_
“User32″Alias”ChangeDisplaySettingsA”(_
ByVallpDevModeAsLong,_
ByValdwflagsAsLong)AsLong
-函数

PublicFunctionSetDisplayMode(WidthAs_
Integer,HeightAsInteger,ColorAs_
Integer)AsLong
ConstDM_PELSWIDTH=&H80000
ConstDM_PELSHEIGHT=&H100000
ConstDM_BITSPERPEL=&H40000
DimNewDevModeAsDEVMODE
DimpDevmodeAsLong
WithNewDevMode
.dmSize=122
IfColor=-1Then
.dmFields=DM_PELSWIDTHOrDM_PELSHEIGHT
Else
.dmFields=DM_PELSWIDTHOr_
DM_PELSHEIGHTOrDM_BITSPERPEL
EndIf
.dmPelsWidth=Width
.dmPelsHeight=Height

IfColor<>-1Then
.dmBitsPerPel=Color
EndIf
EndWith
pDevmode=lstrcpy(NewDevMode,NewDevMode)
SetDisplayMode=ChangeDisplaySettings(pDevmode,0)
EndFunction
例子调用:改变为640x480x24位:
i=SetDisplayMode(640,480,24)
如果成功返回0

->

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 动态改变屏幕设置_visualbasic教程
分享到: 更多 (0)

相关推荐

  • 暂无文章