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

سؤال: كود لتصوير سطح المكتب

مغلق
بدأه maayah في 19 أغسطس 2007 · 2 رد · 610 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

عندي سؤال هل يوجد كود عند الضغط على

زر يقوم بتصوير سطح المكتب ويقوم بحفظ

الصورة.

مع شكري للجميع ...

#2

السلام عليكم و رحمة الله و بركاته

أخي الكريم ضع هذا الكود في موديل :

	Private Declare Function GetDesktopWindow Lib "user32.dll" () As IntPtr
	Private Declare Function GetWindowDC Lib "user32.dll" (ByVal hwnd As IntPtr) As IntPtr
	Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As IntPtr, ByVal hObject As IntPtr) As IntPtr
	Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As IntPtr) As Int32
	Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As IntPtr, ByVal hdc As IntPtr) As Int32
	Private Declare Function CreateCompatibleBitmap Lib "gdi32.dll" (ByVal hdc As IntPtr, ByVal nWidth As Int32, ByVal nHeight As Int32) As IntPtr
	Private Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc As IntPtr) As IntPtr
	Private Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As IntPtr) As Int32
	Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As IntPtr) As IntPtr
	Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As IntPtr, ByVal x As Int32, ByVal y As Int32, ByVal nWidth As Int32, ByVal nHeight As Int32, ByVal hSrcDC As IntPtr, ByVal xSrc As Int32, ByVal ySrc As Int32, ByVal dwRop As Int32) As Int32
	Private Const SRCCOPY As Int32 = &HCC0020

	Public Function GetDesktopImage() As Image
		Dim Bounds As Rectangle = Screen.PrimaryScreen.Bounds
		Dim img As Image

		Dim dskWnd As IntPtr = GetDesktopWindow()
		Dim dskDC As IntPtr = GetDC(dskWnd)
		Dim memDC As IntPtr = CreateCompatibleDC(dskDC)
		Dim memBtm As IntPtr = CreateCompatibleBitmap(dskDC, Bounds.Width, Bounds.Height)
		Dim tmpBtm As IntPtr = SelectObject(memDC, memBtm)

		BitBlt(memDC, 0, 0, Bounds.Width, Bounds.Height, dskDC, 0, 0, SRCCOPY)

		img = Image.FromHbitmap(memBtm)

		SelectObject(memDC, tmpBtm)
		DeleteObject(memBtm)
		DeleteDC(memDC)
		ReleaseDC(dskWnd, dskDC)

		Return img
	End Function

و بهذا يكون لديك دالة بإسم GetDesktopImage توقم بإرجاع الصورة الحالية لسطح المكتب ... و لكي تستخدمها و بفرض انك تريد ان تضع صورة سطح المكتب في مربع صور بإسم PictureBox1 .... سيكون الكود مشابه للتالي :

PictureBox1.Image = GetDesktopImage()

اتمنى ان يفي هذا بمبتغاك

السلام عليكم و رحمة الله و بركاته

مواضيع برمجية تقنية جديدة

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

• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)

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

• برنامج للبحث في الملفات ومحتواياتها (VB.NET)

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

• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)

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

مواضيع برمجية تقنية قديمة

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

• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)

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

• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)

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

• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)

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

• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)

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

• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)

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

• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)

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

• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)

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

• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)

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

• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)

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

• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)

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

#3

بارك الله فيك رغيد الطيب

if You.needhelp = true then

msgbox ("Never Ever Ask dam Question  Before Searching in google")

Else 

msgbox ("You are Doing Good")

End if

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

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