When writing a game for Windows 95, set the display resolution to 640-by-480, set the color palette to True Color when it runs, and restore it to its initial mode when it ends. Use this function to implement it:
'- DeclaresPrivate Declare Function lstrcpy _ Lib "kernel32" Alias "lstrcpyA" _ (lpString1 As Any, lpString2 As Any) _ As LongConst CCHDEVICENAME = 32Const CCHFORMNAME = 32Private Type DEVMODE dmDeviceName As String * CCHDEVICENAME 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 * CCHFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As LongEnd TypePrivate Declare Function _ ChangeDisplaySettings Lib _ "User32" Alias "ChangeDisplaySettingsA" (_ ByVal lpDevMode As Long, _ ByVal dwflags As Long) As Long'- code' Here is the function that sets the display ' mode. Width is the width of screen, Height ' is the height of screen, Color is the number ' of bits per pixel. Set the Color value to -1 ' if you only want to change the screen ' resolution.Public Function SetDisplayMode(Width As _ Integer,Height As Integer, Color As _ Integer) As LongConst DM_PELSWIDTH = &H80000Const DM_PELSHEIGHT = &H100000Const DM_BITSPERPEL = &H40000Dim NewDevMode As DEVMODEDim pDevmode As LongWith NewDevMode .dmSize = 122 If Color = -1 Then .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Else .dmFields = DM_PELSWIDTH Or _ DM_PELSHEIGHT Or DM_BITSPERPEL End If .dmPelsWidth = Width .dmPelsHeight = Height If Color -1 Then .dmBitsPerPel = Color End IfEnd WithpDevmode = lstrcpy(NewDevMode, NewDevMode)SetDisplayMode = ChangeDisplaySettings(pDevmode, 0)End Function
You can change the display mode easily with this function. For example, write this code that changes the resolution to 640-by-480 and the color palette to 24-bit True Color:
i = SetDisplayMode(640, 480, 24)
If the function is successful, it returns zero.