الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مكتبة أكواد لتحكم في الويندوز من خلال الرجستري

مغلق
بدأه programmer4fun في 5 أكتوبر 2006 · 44 رد · 10,206 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26
programmer4fun كتب:
شكرا على ردك أخ superboy

ولكن لي إعتراض الموضوع ليس متقدما

و أنا لست خبيرا

و المتقدمين ليسوا قلال في المنتدى و الحمد لله :P

عموما فرحتني بردك و سأتحفكم بكودين أقوم بتصميمهما في هذه اللحظة

ألف شكر ;)

لك لكنك خبير و ليس فقط متقدم :D

بس متواضع -_-

على كل حال أنا أعلم في vb6

و انا جديد في .net

و لسا ما أعرف شي :lol:

لكن سؤال من أين حصلت على مصدر مفاتيح الريجيستري ؟؟؟؟؟؟؟(إذا ما في إحراج) :lol:

و ممكن بس تخلص تجمعن بملف Pdf

فيكون أسهل و خال من المشاركات الإضافية و مرة ثانية ألف شكر

#27
اقتباس
لكن سؤال من أين حصلت على مصدر مفاتيح الريجيستري ؟؟؟؟؟؟؟(إذا ما في إحراج)

من البحث في دهاليزه أولا و ثانيا من ملف للأخ MiCcSoft

و أعتذر عن إخلافي بالوعد ذلك أولا لأن windows تعطل عندي و إضطررت إلى فرمتته و بالتالي ضاع المشروع الذي كنت سأضعه في المنتدى

و ثانيا الكسل الزائد و الإمتحانات و إهمالي للمشروع :(

أكرر إعتذاري و سأكمل ما بدأت به بعد أسبوع من الأن

أما فكرة pdf فأعتقد أنها غير صالحة ولكنني بدلا عن ذلك سأحط class أجمع فيها الأكواد

#28
programmer4fun كتب:
من البحث في دهاليزه أولا و ثانيا من ملف للأخ MiCcSoft

و أعتذر عن إخلافي بالوعد ذلك أولا لأن windows تعطل عندي و إضطررت إلى فرمتته و بالتالي ضاع المشروع الذي كنت سأضعه في المنتدى

و ثانيا الكسل الزائد و الإمتحانات و إهمالي للمشروع :(

أكرر إعتذاري و سأكمل ما بدأت به بعد أسبوع من الأن

أما فكرة pdf فأعتقد أنها غير صالحة ولكنني بدلا عن ذلك سأحط class أجمع فيها الأكواد

السلام عليكم

اقتباس
من البحث في دهاليزه أولا و ثانيا من ملف للأخ MiCcSoft

لكن ما هو البحث في دهاليزه و أين رابط الكتاب للأخ MiCcSoft

اقتباس
أما فكرة pdf فأعتقد أنها غير صالحة ولكنني بدلا عن ذلك سأحط class أجمع فيها الأكواد

لمذا غير صالحة فأنت ستظع الأكواد مع الشرح في الكتاب مع classe مرفق فتكون أديت خدمة رائعة للكل العرب و المسلمين ;)

#30

شكرا لك ذهبت إلى الكل الروابط في توقيعك

#31

لكن للأسف الكتاب غير موحود

مقد فتحت الرابط و لا كن لا وجود للكتاب

لكن طلب صغير إن كنت تملك الكتاب فلما لا ترفعه في المنتدى فيكون أفضل

من جميع من يملك هذا الكتاب

#32

يوجد مشروع كلاس في المرفقات أخ superboy يحتوي على كل الأكواد مصنف تصنيفا شجريا مثل الملف الموجود في توقيع الأخ miccsoft

لقد أضفت بعض الأكواد من مكتبة الأخ miccsoft إليه

أرجو منك المشاركة في الكلاس أخ superboy

my_class_app.rar

#33

شكرا لك لقد قمت بالتحميل لكن هل يحوي جميع الدوال

#34

نعم و أكثر من ذلك فهو يحتوي على أكواد من مكتبة اكواد أخرى

أسف عن نسياني للموضوع و لكنني منشغل بدورة في wpf و الرابط في توقيعي

#35

شكرا لك على الرد على كل حال

#36

السلام عليكم

بارك الله في الاخوة

هذا كتاب جيد لمن يريد التعمق في مسجل النظام "Registry"

رابط الموقع http://www.winguides.com/guides.php?guide=registry

والسلام عليكم

مواضيع متنوعة

#37

شكرا لك الكتاب نفسه

#39

أخي هذه التويكات يتم تنفيذها عن طريق برامج الويندوز وقليل منها له

مسار في الريجيستري

#40
MiCcSoft كتب:
أخي هذه التويكات يتم تنفيذها عن طريق برامج الويندوز وقليل منها له

مسار في الريجيستري

نعم اخي الكريم اعلم بهذا ولكن يوجد عدد لابأس بة من التحكم من مسجل النظام.

وهذا الموقع اوغيرة مفتوح للاخرين لوضع مايعرفة الاخرين من تحكم بالويندوز. حتي تتكون فكرة عن كيفية التحكم بة.

فلماذا لانستخدم هذة البرامج من خلال الكود الذي اكتبة.

بارك الله فيكم.

مواضيع متنوعة

#41

ننتظر المزيد

#42

لو سمحت كيف يمكنني فتح وإغلاق الCDROM عن طريق الريجستري

#43

كيف يمكن تغيير Screen Resolution وحفظة .

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

#44

لتغير ال Resolution

'Imports System, .Drawing, .Windows.Forms
Public Class frmDX9RKS
	Inherits Form
 '==== screen-resolution API, constants, etc. ====

  Public Declare Function ChangeDisplaySettingsEx Lib "user32" _
	Alias "ChangeDisplaySettingsExA" _
	(ByRef lpszDeviceName As Integer, _
	 ByRef lpDevMode As DEVMODE, _
	 ByVal hWnd As Integer, _
	 ByVal dwFlags As Integer, _
	 ByRef lParam As Integer) As Integer

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

  Enum CDSXRC As Integer 'change-display-settings return codes
	'From winuser.h
	DISP_CHANGE_SUCCESSFUL = 0
	DISP_CHANGE_RESTART = 1
	DISP_CHANGE_FAILED = -1
	DISP_CHANGE_BADMODE = -2
	DISP_CHANGE_NOTUPDATED = -3
	DISP_CHANGE_BADFLAGS = -4
	DISP_CHANGE_BADPARAM = -5
  End Enum

  Public Structure DEVMODE
	<VBFixedString(CCDEVICENAME), _
	  System.Runtime.InteropServices.MarshalAs( _
	  System.Runtime.InteropServices.UnmanagedType.ByValArray, _
	  SizeConst:=(CCDEVICENAME))> Public dmDeviceName() As Char
	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
	<VBFixedString(CCFORMNAME), _
	  System.Runtime.InteropServices.MarshalAs( _
	  System.Runtime.InteropServices.UnmanagedType.ByValArray, _
	  SizeConst:=(CCFORMNAME))> Public dmFormName() As Char
	Dim dmUnusedPadding As Short
	Dim dmBitsPerPel As Short
	Dim dmPelsWidth As Integer
	Dim dmPelsHeight As Integer
	Dim dmDisplayFlags As Integer
	Dim dmDisplayFrequency As Integer
	Dim dmICMMethod As Integer 'NT 4.0
	Dim dmICMIntent As Integer 'NT 4.0
	Dim dmMediaType As Integer 'NT 4.0
	Dim dmDitherType As Integer 'NT 4.0
	Dim dmReserved1 As Integer 'NT 4.0
	Dim dmReserved2 As Integer 'NT 4.0
	Dim dmPanningWidth As Integer 'Win2000
	Dim dmPanningHeight As Integer 'Win2000
  End Structure

  Public Declare Function EnumDisplaySettings Lib "user32" _
	Alias "EnumDisplaySettingsA" ( _
	ByVal lpszDeviceName As Integer, _
	ByVal iModeNum As Integer, _
	ByRef lpDevMode As DEVMODE) As Boolean

Shared Sub Main()
  Dim frm As New frmDX9RKS()
End Sub	'Main

Public Sub New()
  Const DM_PELSWIDTH As Integer = &H80000
  Const DM_PELSHEIGHT As Integer = &H100000
  Const DM_DISPLAYFREQUENCY As Integer = &H400000
  Const CDS_TEST As Integer = &H4

  InitializeComponent()  'required by the Windows Form Designer.
  ' Add any initialization after the Initialize-Component() call.

	Const HiResW As Integer = 1600 'hi-res width in pixels
	Const HiResH As Integer = 1200 'hi-res height in pixels
	Const ENUM_CURRENT_SETTINGS As Integer = -1

	Static OldWd As Integer 'screen width in pixels
	Static OldHt As Integer 'screen height in pixels
	Static OldFreq As Integer 'screen-refresh frequency

	Dim DevM As New DEVMODE  'added New in V3.2, 3/22/06
	Dim boRetn As Boolean 'boolean return code
	Dim ResChgRtCd As Integer 'As CDSXRC 'resolution-change return code

Debug.Print("Original - width: " & DevM.dmPelsWidth & _
"  Height: " & DevM.dmPelsHeight & _
"  Freq: " & DevM.dmDisplayFrequency & _
"  DevmodeSize: " & DevM.dmSize & _
"  dmFields: " & DevM.dmFields)

	DevM.dmSize = CShort(Len(DevM)) 'set up dev-mode
	  'set field bits: Horiz, Vert, Freq
	DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_DISPLAYFREQUENCY

	  'save orig values and set to high resolution
	  boRetn = EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, DevM)
Debug.Print("Color: " & DevM.dmBitsPerPel & " bits/pixel")

	  OldWd = DevM.dmPelsWidth 'save orig width in pixels
	  OldHt = DevM.dmPelsHeight 'save orig height in pixels
	  OldFreq = DevM.dmDisplayFrequency 'save orig refresh freq
	  DevM.dmPelsWidth = HiResW
	  DevM.dmPelsHeight = HiResH
	  DevM.dmDisplayFrequency = 60 'use lower (hard-coded) freq for LCD hi-res
Debug.Print("Before change - width: " & DevM.dmPelsWidth & _
"  Height: " & DevM.dmPelsHeight & _
"  Freq: " & DevM.dmDisplayFrequency & _
"  DevmodeSize: " & DevM.dmSize & _
"  dmFields: " & DevM.dmFields)
'Stop
	  ResChgRtCd = ChangeDisplaySettingsEx(0, DevM, 0, CDS_TEST, 0)

	  If ResChgRtCd <> CDSXRC.DISP_CHANGE_SUCCESSFUL Then 'if change failed,
		subBadResChgDiag((ResChgRtCd)) ' tell why
		Stop
		Exit Sub
	  End If

End Sub

Private Sub subBadResChgDiag(ByRef CDSRetCode As Integer)
  Dim strErr As String
  Dim strBase As String

  strBase = "Screen-resolution change failed;" & vbCrLf & vbCrLf & "Code is: "

  Select Case CDSRetCode
	Case CDSXRC.DISP_CHANGE_RESTART
	  strErr = strBase & "CHANGE_RESTART"
	Case CDSXRC.DISP_CHANGE_FAILED
	  strErr = strBase & "CHANGE_FAILED"
	Case CDSXRC.DISP_CHANGE_BADMODE
	  strErr = strBase & "CHANGE_BADMODE"
	Case CDSXRC.DISP_CHANGE_NOTUPDATED
	  strErr = strBase & "CHANGE_NOTUPDATED"
	Case CDSXRC.DISP_CHANGE_BADFLAGS
	  strErr = strBase & "CHANGE_BADFLAGS"
	Case CDSXRC.DISP_CHANGE_BADPARAM
	  strErr = strBase & "CHANGE_BADPARAM"
	Case Else
	  strErr = strBase & "Unknown resolution-change error"
  End Select
  MsgBox(strErr)

End Sub

End Class

	   	Report Abuse 
  26 Mar 2006, 11:17 AM UTC
robinjam


Posts 457

Re: Changing screen resolution with VB 2005
Comment This post has a code sample within it. Was this post helpful ? 	Reply Quote


Just forget trying to use the API to change the display mode. Instead:

1. Add a COM reference to 'DirectX 7 for Visual Basic Type library'

2. At the top of your code for your main form, before the class declaration, add 'Imports DxVbLib'

3. After the class declaration, add:

	 Dim dx as New DirectX7

	 Dim dd as DirectDraw7

4. Add the following code to your Form_Load event handler:

	dd=dx.DirectDrawCreate("")

	dd.setDisplayMode(800,600,16,0,CONST_DDSDMFLAGS.DDSDM_DEFAULT)

Note: Change '800' to the desired width of the display mode, '600' should be the height, and '16' should be the color depth.

Example



Imports DxVBLib

Public Class frmMain

  Dim dx As New DirectX7

  Dim dd As DirectDraw7

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

	Me.Show()

	dd = dx.DirectDrawCreate("")

	dim Height as Integer

	dim Width as Integer

	dim Depth as Integer

	Height=600 ' Change this to the correct number

	Width=800 ' Change this to the correct number

	Depth=16 ' Change this to the correct number

	dd.SetDisplayMode(Height, Width, Depth, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT)

  End Sub

End Class
#45

شكراً أخي !!! Boris !!! ..

أريد أن أعرف كيف يتم تغيير Screen Resolution وحفظة على 2005 .

وعندي ملاحظة عن تجربه مررت بها على استخدام 'DirectX 7 for Visual Basic Type library' فبعد تحزيم المشروع هناك مشكلة أنه يتم رفظ أرفاقه مع البرنامج وذلك لأنه محمي ..

1 - سقوط الإنسان ليس فشلاً ، ولكن الفشل أن يبقى حيث سقط .

2 - الفاشلون قسمان : قسم فكر ولم يفعل ، وقسم فعل ولم يفكر .

-------------------------------------------------------

درس في ADO.NET 2005, التعامل مع الجداول المترابطة في ado.net 2005

درس في الإجراءات الفرعية ( العامة )

درس في ADO.NET من الصفر إلى الإحتراف .

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…