واضح آرشیو وب فارسی:سایت ریسک: sari-136928-01-2008, 10:24 AMسلام دوستان ... ميخوام وقتي كه برنامه رو اجرا ميكنم . اول رزوليشن فعلي مانيتور رو بگيره . و بعد رزوليشن رو به اون اندازه اي كه من از قبل تعيين كردم تغيير بده . ودر انتها كه برنامه end ميشه به رزوليشن اولي برگرده . sari-136928-01-2008, 11:52 AMسلام دوستان ... ميخوام وقتي كه برنامه رو اجرا ميكنم . اول رزوليشن فعلي مانيتور رو بگيره . و بعد رزوليشن رو به اون اندازه اي كه من از قبل تعيين كردم تغيير بده . ودر انتها كه برنامه end ميشه به رزوليشن اولي برگرده . چرا كسي كمكم نميكنه ....:41: nibble01-02-2008, 07:53 AMسلام راحت ترين راهش اينه كه با Api اين كار رو انجام بديد شما راه ديگه اي مي خواين ؟ من من01-02-2008, 11:18 AMمنم می خوام بدونم .... api دیگه چیه؟ sari-136901-02-2008, 11:11 PMسلام راحت ترين راهش اينه كه با Api اين كار رو انجام بديد شما راه ديگه اي مي خواين ؟ سلام دوست عزيز.... ميشه بگي از كدوم تابع api استفاده كنم .. اگه ميتونستي يه سورس كد بهم بدي خيلي خوب مي شد . nibble02-02-2008, 07:38 AMسلام از تابع ChangeDisplaySettingsEx استفاده كنيد اينم كد برنامه اي كه مي خواهيد: البته ببخشيد خود برنامه رو نزاشتم فقط كدش و اين جا مي زارم Private Const DM_PELSWIDTH = &H80000 Private Const DM_PELSHEIGHT = &H100000 Private Const CDS_UTEREGISTRY = &H1 Private Type DEVMODE dmDeviceName As String * 32 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 * 32 dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long dmPanningWidth As Long dmPanningHeight As Long End Type Private Declare Function ChangeDisplaySettingsEx Lib "user32" Alias "ChangeDisplaySettingsExA" (lpszDeviceName As Any, lpDevode As Any, ByVal hWnd As Long, ByVal dwFlags As Long, lParam As Any) As Long Dim PrevX As Long, PrevY As Long Private Sub Form_Load() Dim Dev As DEVMODE PrevX = Screen.Width / Screen.TwipsPerPixelX PrevY = Screen.Height / Screen.TwipsPerPixelY Dev.dmSize = Len(Dev) Dev.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Dev.dmPelsWidth = 800 Dev.dmPelsHeight = 600 ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub Private Sub Form_Unload(Cancel As Integer) Dim Dev As DEVMODE Dev.dmSize = Len(Dev) Dev.dmPelsWidth = PrevX Dev.dmPelsHeight = PrevY ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub nibble02-02-2008, 07:42 AMالبته براي گرفتن resolution مي تونيد از تابعEnumDisplaySettings هم استفاده كنيد lord_ashkan_z02-02-2008, 02:13 PMسلام از تابع ChangeDisplaySettingsEx استفاده كنيد اينم كد برنامه اي كه مي خواهيد: البته ببخشيد خود برنامه رو نزاشتم فقط كدش و اين جا مي زارم Private Const DM_PELSWIDTH = &H80000 Private Const DM_PELSHEIGHT = &H100000 Private Const CDS_UTEREGISTRY = &H1 Private Type DEVMODE dmDeviceName As String * 32 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 * 32 dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long dmPanningWidth As Long dmPanningHeight As Long End Type Private Declare Function ChangeDisplaySettingsEx Lib "user32" Alias "ChangeDisplaySettingsExA" (lpszDeviceName As Any, lpDevode As Any, ByVal hWnd As Long, ByVal dwFlags As Long, lParam As Any) As Long Dim PrevX As Long, PrevY As Long Private Sub Form_Load() Dim Dev As DEVMODE PrevX = Screen.Width / Screen.TwipsPerPixelX PrevY = Screen.Height / Screen.TwipsPerPixelY Dev.dmSize = Len(Dev) Dev.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Dev.dmPelsWidth = 800 Dev.dmPelsHeight = 600 ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub Private Sub Form_Unload(Cancel As Integer) Dim Dev As DEVMODE Dev.dmSize = Len(Dev) Dev.dmPelsWidth = PrevX Dev.dmPelsHeight = PrevY ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub اگر میشه یه توضیحی بدین ... من می خوام بفهمم شما چه کرده اید، نه آنکه فقط کپی کنم. mer30 sari-136902-02-2008, 02:38 PMسلام از تابع ChangeDisplaySettingsEx استفاده كنيد اينم كد برنامه اي كه مي خواهيد: البته ببخشيد خود برنامه رو نزاشتم فقط كدش و اين جا مي زارم Private Const DM_PELSWIDTH = &H80000 Private Const DM_PELSHEIGHT = &H100000 Private Const CDS_UTEREGISTRY = &H1 Private Type DEVMODE dmDeviceName As String * 32 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 * 32 dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long dmPanningWidth As Long dmPanningHeight As Long End Type Private Declare Function ChangeDisplaySettingsEx Lib "user32" Alias "ChangeDisplaySettingsExA" (lpszDeviceName As Any, lpDevode As Any, ByVal hWnd As Long, ByVal dwFlags As Long, lParam As Any) As Long Dim PrevX As Long, PrevY As Long Private Sub Form_Load() Dim Dev As DEVMODE PrevX = Screen.Width / Screen.TwipsPerPixelX PrevY = Screen.Height / Screen.TwipsPerPixelY Dev.dmSize = Len(Dev) Dev.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Dev.dmPelsWidth = 800 Dev.dmPelsHeight = 600 ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub Private Sub Form_Unload(Cancel As Integer) Dim Dev As DEVMODE Dev.dmSize = Len(Dev) Dev.dmPelsWidth = PrevX Dev.dmPelsHeight = PrevY ChangeDisplaySettingsEx ByVal 0&, Dev, ByVal 0&, CDS_UTEREGISTR, ByVal 0& End Sub ممنونم ........ nibble04-02-2008, 07:17 AMممنونم ........ خواهش مي كنم اگر میشه یه توضیحی بدین ... من می خوام بفهمم شما چه کرده اید، نه آنکه فقط کپی کنم. mer30 خوب توي اين برنامه مي خواهيم وقتي برنامه اجرا مي شه resolution رو تغيير بده و وقتي برنامه تمام مي شه resolution به حالت قبل بركرده پس لازم داريم قبل از تغيير resolution مقدار قبلي اون رو ذخيره كنيم تغيير resolution را با تابع ChangeDisplaySettingsEx انجام مي دهيم توي form load قبل از تغيير مقدار قبلي resolution رو در متغير هاي prevx, prevy ذخيره مي كنيم ( Screen.Width عرض صفحه نمايش و Screen.TwipsPerPixelX تعداد twip رو در هر پيكسل افقي بر مي گرداند بنابراين با تقسيم Screen.Width / Screen.TwipsPerPixelX تعداد پيكسل هاي صفحه نمايش بدست مي ياد ) و بعد هم در Dev.dmPelsWidth و Dev.dmPelsHeight مقدارهاي جديد رو وارد مي كنيد و تابع رو صدا مي زنيم تا resolution رو تغير بده توي form unlaod مقدار قبلي resolution رو كه در prevx,prevy ذخيره كرديم به Dev.dmPelsWidth و Dev.dmPelsHeight انتساب مي ديم و تابع رو صدا مي زنيم تا دوباره به حالت اول برگرده ديگه هر چي كه توضيح داشت گفتم اميدوارم فهميده باشيد Ultimator04-02-2008, 07:07 PMسلام با VB.NET به راحتی میشه این کارو کرد بدون Api اگه NET. کار میکنید بگین کدشو بذارم nibble05-02-2008, 07:19 AMسلام با VB.NET به راحتی میشه این کارو کرد بدون Api اگه NET. کار میکنید بگین کدشو بذارم سلام اگر امكانش هست كدش و بزاريد پيشاپيش ممنون سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 256]