Ok, Hi guys, After very long time I back with a surprise a code to change resolution of PC with VB.NET just copy this and past it and Call it with ChangeRes( 1024 , 768 , 32 )
The CODE
function generate() { Public Class Form1 ' change resolution Constants, Types and Declares ' Using this option to shutdown windows does not send ' the WM_QUERYENDSESSION and WM_ENDSESSION messages to ' the open applications. Thus, those apps may loose ' any unsaved data. ' Const EWX_FORCE As Short = 4 Const CCDEVICENAME As Short = 32 Const CCFORMNAME As Short = 32 Const DM_BITSPERPEL As Integer = &H40000 Const DM_PELSWIDTH As Integer = &H80000 Const DM_PELSHEIGHT As Integer = &H100000 Const CDS_UPDATEREGISTRY As Short = &H1S Const CDS_TEST As Short = &H2S Const CDS_FULLSCREEN As Short = &H4S Const DISP_CHANGE_SUCCESSFUL As Short = 0 Const DISP_CHANGE_RESTART As Short = 1 Const HWND_BROADCAST As Integer = &HFFFF Const WM_DISPLAYCHANGE As Integer = &H7E Const SPI_SETNONCLIENTMETRICS As Short = 42 Private Structure DEVMODEPublic dmDeviceName As String Dim dmSpecVersion As Short Dim dmDriverVersion As Short Dim dmSize As Short Dim dmDriverExtra As Short Dim dmFields As Integer Dim dmOrientation As Short Dim dmPaperSize As Short Dim dmPaperLength As Short Dim dmPaperWidth As Short Dim dmScale As Short Dim dmCopies As Short Dim dmDefaultSource As Short Dim dmPrintQuality As Short Dim dmColor As Short Dim dmDuplex As Short Dim dmYResolution As Short Dim dmTTOption As Short Dim dmCollate As Short Public dmFormName As String Dim dmUnusedPadding As Short Dim dmBitsPerPel As Short Dim dmPelsWidth As Integer Dim dmPelsHeight As Integer Dim dmDisplayFlags As Integer Dim dmDisplayFrequency As Integer End Structure Private Overloads Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE) As Boolean 'Private Overloads Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As Long) As Boolean Private Overloads Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwFlags As Integer) As Integer 'Private Overloads Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As Long, ByVal dwFlags As Integer) As Integer Public Function ChangeRes(ByVal width As Integer, ByVal height As Integer, ByVal BPP As Short) As Integer Dim DevM As Form1.DEVMODE Dim lResult As Integer Dim iAns As Short lResult = EnumDisplaySettings(0, 0, DevM) With DevM .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT .dmPelsWidth = width .dmPelsHeight = height .dmBitsPerPel = BPP End With lResult = ChangeDisplaySettings(DevM, CDS_FULLSCREEN) Select Case lResult Case DISP_CHANGE_SUCCESSFUL Call ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY) Case Else MsgBox("Mode not supported", MsgBoxStyle.SystemModal, "Error") End Select Return 0 End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim x As Integer = Screen.PrimaryScreen.BitsPerPixel ChangeRes(1024, 768, x) End Sub End Class }
Change Form1 to Your Form Name
And Button1 to Your Control Name
Please Leave Comment !!!
Test
ReplyDelete