15-10-17, 02:47 PM
الكود بالمرفقات عبارة عن برنامج صغير يسمخ بتصوير الشاشة و حفظ البيانات في ملفات علي هيئة صور او يمكن حفظ البيانات كلها علي هيئة DataTable و بالتالي يمكن حفظها في ملف عادي او ملف داتابيز تقليدي
الكود بالمرفقات بنسخة الفيجوال استوديو 2015
الكود مكتوب علي هيئة كلاسات كالتالي
الكلاس الأول:
ScreenCapture
عبارة عن كلاس يقوم بتشغيل تايمر داخلي حيث يتم التقاط صورة لسطخ المكتب
الكلاس أيضا مكتوب يأسلوب لكي يعمل في الخلفيية بحيث لا يؤثر علي أداء الفورم الذي يستخدم الكلاس
الكلاس الثاني:
ScreenCaptureEventHandler
عبارة عن EventHandler او Delegate يتم استخدامه من داخل الكلاس الأول
الكلاس الثالث:
ScreenCaptureCollection
عبارة عن Dictionary حيث يتم استخدامه لحفظ بيانات الصورة علي هيئة String و مصفوفة بايت
أيضا الكلاس يسمح بتحويل البيانات الي DataTable لسهولة حفظها لاحقا في ملف
الكلاس الرابع:
SecureBytes
عبارة عن كلاس يستخدم لتحويل الصورة الي مصفوفة بايت
الكلاس الخامس:
SecureBitmap
عبارة عن كلاس يستخدم في تحويل مصفوفة من البايت الي صورة
الكلاسان الرابع و الخامس يمكن الحصول عليهما أو يمكن الاستغناء عنهما و استبدالهما بالدوال الموجودة في الموضوع الموجود في الرابط التالي
Convert Bitmap To ByteArray & ViceVersa
و لمن يملكون نسخ أقل حداثة من نسخة الفيجوال استوديو 2105
يمكنهم فتح مشروع جديد
إضافة الكلاسات الخمسة الي المشروع
ثم علي الفورم يتم اضافة عدد 2 باتون
ثم يتم كتابة الكود بالشكل التالي
أتمني أن يكون الموضوع مفيدا للبعض منكم
تقبلوا تحياتي
الكود بالمرفقات بنسخة الفيجوال استوديو 2015
الكود مكتوب علي هيئة كلاسات كالتالي
الكلاس الأول:
ScreenCapture
عبارة عن كلاس يقوم بتشغيل تايمر داخلي حيث يتم التقاط صورة لسطخ المكتب
الكلاس أيضا مكتوب يأسلوب لكي يعمل في الخلفيية بحيث لا يؤثر علي أداء الفورم الذي يستخدم الكلاس
الكلاس الثاني:
ScreenCaptureEventHandler
عبارة عن EventHandler او Delegate يتم استخدامه من داخل الكلاس الأول
الكلاس الثالث:
ScreenCaptureCollection
عبارة عن Dictionary حيث يتم استخدامه لحفظ بيانات الصورة علي هيئة String و مصفوفة بايت
أيضا الكلاس يسمح بتحويل البيانات الي DataTable لسهولة حفظها لاحقا في ملف
الكلاس الرابع:
SecureBytes
عبارة عن كلاس يستخدم لتحويل الصورة الي مصفوفة بايت
الكلاس الخامس:
SecureBitmap
عبارة عن كلاس يستخدم في تحويل مصفوفة من البايت الي صورة
الكلاسان الرابع و الخامس يمكن الحصول عليهما أو يمكن الاستغناء عنهما و استبدالهما بالدوال الموجودة في الموضوع الموجود في الرابط التالي
Convert Bitmap To ByteArray & ViceVersa
و لمن يملكون نسخ أقل حداثة من نسخة الفيجوال استوديو 2105
يمكنهم فتح مشروع جديد
إضافة الكلاسات الخمسة الي المشروع
ثم علي الفورم يتم اضافة عدد 2 باتون
ثم يتم كتابة الكود بالشكل التالي
PHP كود :
Public Class Form1
Private scrCapture As ScreenCapture
Private collector As ScreenCaptureCollection = New ScreenCaptureCollection()
' Button Start
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
scrCapture = New ScreenCapture
AddHandler scrCapture.CaptureChanged, New ScreenCaptureEventHandler(AddressOf Me.OnScreenCaptureChanged)
scrCapture.StartCapture()
End Sub
' Button Stop
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
scrCapture.StopCapture()
If scrCapture IsNot Nothing Then
RemoveHandler scrCapture.CaptureChanged, New ScreenCaptureEventHandler(AddressOf Me.OnScreenCaptureChanged)
scrCapture.Dispose()
scrCapture = Nothing
End If
' Save images to project directory or show it in a picture box as video
For Each kvp As KeyValuePair(Of String, Byte()) In collector
Dim key As String = kvp.Key
Dim value As Byte() = kvp.Value
Dim bmp As Bitmap = New SecureBitmap(value).ToBitmap
bmp.Save(".\" + key)
Next
' Or
If Me.collector.ToDataTable IsNot Nothing Then
Dim dt As DataTable = collector.ToDataTable
' save datatble to file
End If
End Sub
Protected Sub OnScreenCaptureChanged(bmp As Bitmap)
Dim key As String = DateTime.Now.ToFileTime.ToString + ".jpg"
If bmp IsNot Nothing Then
collector.Add(key, New SecureBytes(bmp).ToBytes)
bmp.Dispose()
bmp = Nothing
End If
End Sub
End Class
أتمني أن يكون الموضوع مفيدا للبعض منكم
تقبلوا تحياتي