تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
(تم الحل) تغيير دقة العرض
#1
السلام عليكم و رحمة الله
هل يمكن تغيير دقة عرض الشاشة بواسطة الكود و دون تدخل المستخدم؟
}}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته


أضف أولا الـ Module التالية :
كود :
Public Module resChanger

    Const ENUM_CURRENT_SETTINGS As Integer = -1
    Const CDS_UPDATEREGISTRY As Integer = &H1
    Const CDS_TEST As Long = &H2

    Const CCDEVICENAME As Integer = 32
    Const CCFORMNAME As Integer = 32

    Const DISP_CHANGE_SUCCESSFUL As Integer = 0
    Const DISP_CHANGE_RESTART As Integer = 1
    Const DISP_CHANGE_FAILED As Integer = -1

    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE) As Integer
    Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef DEVMODE As DEVMODE, ByVal flags As Integer) As Integer

    <StructLayout(LayoutKind.Sequential)> Public Structure DEVMODE
        <MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=CCDEVICENAME)> Public dmDeviceName As String
        Public dmSpecVersion As Short
        Public dmDriverVersion As Short
        Public dmSize As Short
        Public dmDriverExtra As Short
        Public dmFields As Integer
        Public dmOrientation As Short
        Public dmPaperSize As Short
        Public dmPaperLength As Short
        Public dmPaperWidth As Short
        Public dmScale As Short
        Public dmCopies As Short
        Public dmDefaultSource As Short
        Public dmPrintQuality As Short
        Public dmColor As Short
        Public dmDuplex As Short
        Public dmYResolution As Short
        Public dmTTOption As Short
        Public dmCollate As Short
        <MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=CCFORMNAME)> Public dmFormName As String
        Public dmUnusedPadding As Short
        Public dmBitsPerPel As Short
        Public dmPelsWidth As Integer
        Public dmPelsHeight As Integer
        Public dmDisplayFlags As Integer
        Public dmDisplayFrequency As Integer
    End Structure

    Public Sub changeRes(ByVal theWidth As Integer, ByVal theHeight As Integer)

        Dim DevM As DEVMODE

        DevM.dmDeviceName = New [String](New Char(32) {})
        DevM.dmFormName = New [String](New Char(32) {})
        DevM.dmSize = CShort(Marshal.SizeOf(GetType(DEVMODE)))


        If 0 <> EnumDisplaySettings(Nothing, ENUM_CURRENT_SETTINGS, DevM) Then
            Dim lResult As Integer

            DevM.dmPelsWidth = theWidth
            DevM.dmPelsHeight = theHeight

            lResult = ChangeDisplaySettings(DevM, CDS_TEST)

            If lResult = DISP_CHANGE_FAILED Then
                MsgBox("Display Change Failed.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Screen Resolution Change Failed")
            Else

                lResult = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)

                Select Case lResult
                    Case DISP_CHANGE_RESTART
                        MsgBox("You must restart your computer to apply these changes.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Screen Resolution Has Changed")
                    Case DISP_CHANGE_SUCCESSFUL
                        MsgBox("Display Change Successful.", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "Screen Resolution Successful")
                    Case Else
                        MsgBox("Display Change Failed.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Screen Resolution Change Failed")
                End Select
            End If


        End If
    End Sub

End Module

ثم إذا أردت تغيير دقة العرض إستخدم الأمر التالي :
كود :
changeRes(1024, 768)

بالتوفيق
}}}
تم الشكر بواسطة:
#3
الف شكر استاذ غريب و لكن ظهرت اخطاء في الاسطر التالية

PHP كود :
<StructLayout(LayoutKind.Sequential)> Public Structure DEVMODE
        
<MarshalAsAttribute(UnmanagedType.ByValTStrSizeConst:=CCDEVICENAME)> Public dmDeviceName As String 
}}}
تم الشكر بواسطة:
#4
إستدعي System.Runtime.InteropServices

كود :
Imports System.Runtime.InteropServices
}}}
تم الشكر بواسطة:
#5
Osama_Ghareeb كتب :إستدعي System.Runtime.InteropServices

كود :
Imports System.Runtime.InteropServices

الله ينور عليك
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغيير المسار الي مسار البرنامج في تقرير ميكروسوفت atefkhalf2004 2 109 02-04-24, 05:05 PM
آخر رد: atefkhalf2004
  تغيير على كود الحفظ محمد خيري 6 234 28-03-24, 04:20 PM
آخر رد: محمد خيري
  تغيير اسم حقل او تغيير نوع البيان atefkhalf2004 5 304 31-01-24, 04:09 PM
آخر رد: atefkhalf2004
  [سؤال] اريد تغيير اسم حقل ضمن جدول بقاعدة بيانات اكسس mh66 1 368 08-11-23, 08:16 AM
آخر رد: justforit
  كود تغيير قيمة تكست بوكس فى تاريخ معين Ahmed.vb 2 968 11-10-23, 10:35 PM
آخر رد: aljzazy
  البرنامج لدي يعمل على ويندوز 11 والان لا يعمل على ويندوز 10 ماهو الحل moh61 1 300 01-09-23, 04:38 AM
آخر رد: اسامه الهرماوي
  تغيير اسماء الاسبوع kebboud 1 384 12-07-23, 01:39 AM
آخر رد: Shade0001
  تغيير لون مجموعه ازرار Shade0001 3 434 08-07-23, 06:30 PM
آخر رد: Taha Okla
  [VB.NET] تغيير اعدادت الطابعة i1982 6 907 10-04-23, 03:24 PM
آخر رد: أبو خالد الشكري
  تغيير الف بهمزة وياء الى الف عادية والف مقصورة بالداتا جريد لعدة سجلات yosif 3 484 09-04-23, 02:38 PM
آخر رد: yosif

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم