براين باتشيلدر http://labs.patchadvisor.com/blogs/bryan
سكوت هانسيلمان http://www.computerzen.com
برنامج OEM غير مجدي تقريبًا ، لكنني كنت قادرًا على كتابة الاستبدال الخاص بي ، المسمى UsbWiSec. يتوفر هذا البرنامج البديل على SourceForge ، وهناك مقال MSDN كتبه Scott Hanselman يصف بنيته.
الجهاز هو أساسا ماوس لاسلكية رخيصة إعادة الغرض. إذا كنت تريد مزيدًا من المعلومات حول التفاصيل الفنية للأجهزة ، يمكنك قراءة مقالة MSDN ومقالتي الأصلية التي تصف رحلتي لمعرفة ما الذي يجعلها علامة.
القابلية للتوسعة إن أحد أهداف UsbWiSec هو التمديد بسهولة قدر الإمكان. عندما أصدرت دليلي الأولي على المفهوم ، تم إهمالي من خلال طلبات الحصول على العديد من الميزات. اشتمل الإصدار التالي على نظام إضافي. عندما قام Scott بنقل الكود إلى .NET 2.0 لمقال MSDN ، قام بتعزيز نظام المكونات الإضافية ، وكتب العديد من الإضافات الجديدة.
آلية القفل نفسها هي مجرد مكون إضافي ، يمكنك تعطيله إذا لم تكن مهتمًا بالأمان ، وعلى سبيل المثال فقط تريد إيقاف الموسيقى الخاصة بك مؤقتًا عند الابتعاد عن محطة العمل.
الإضافات إلى حد بعيد ، فإن أفضل مكون إضافي (من وجهة نظر القابلية للتوسعة) هو المكون الإضافي Batch File. ينفذ ببساطة locked.bat عندما يجب قفل المحطة ، و unlocked.bat عندما يجب فتحه. يمكنك صياغة أي نص تريده.في الواقع ، إذا لم يكن .NET هو نظامك اللغوي المفضل ، فيمكنك كتابة مكون إضافي بأي لغة تريدها ، وتجميعها في ملف قابل للتنفيذ ، والاتصال بها من ملفات الدُفعات.
الملفات الدفعية التي يتم تنفيذها للقفل وفتح الأحداث.
الطريقة المفضلة لتوسيع التطبيق هي كتابة البرنامج المساعد. الميزة الرئيسية لهذا النهج هو أنه يمكنك توفير شاشة تكوين متكاملة. يمكنك أيضًا الوصول إلى الرسائل الأولية المرسلة من قِبل KeyFob وأحداث PresenceNotification - بالإضافة إلى إطلاعك على أحداث القفل وفتح القفل.
الواجهة الرئيسية ل UsbWiSec ، يمكنك رؤية الإضافات المدرجة.
كيفية إنشاء البرنامج المساعد ل UsbWiSec
سوف تحتاج:
* Visual Studio 2005 Beta 2 * تثبيت UsbWiSec 2.0.1
أولاً ، بدء مشروع جديد في Visual Studio 2005
إضافة مرجع إلى UsbWirelessSecurity.Core.dll إلى المشروع الخاص بك
قم بإنشاء فصل جديد ، وقم بتسميته وفقًا لما يفعله البرنامج المساعد الخاص بك.
سوف ثم:
* أضف عبارة استخدام لمساحة الاسم UsbWirelessSecurity. * اجعل الفئة الفرعية PresencePluginBase الفئة الخاصة بك * إضافة سمة تحدد اسم المكون الإضافي ، ونوع مكون اختياري (مما يعني أيضًا أنك ستحتاج إلى إنشاء مُكون ، وهو مجرد WinForm): o [PresencePluginConfigurator ("My Plugin" ، typeof (MyPluginConfigurator))]
* تجاوز أي من الطرق التالية: o HandleMessage (KeyFobMessage m) o HandlePresenceNotification (PresenceNotificationEventArgs e) o InitializePlugin (plugin string chain (دليل الإضافات) o WorkstationLocked () o WorkstationUlocked ()
البرنامج المساعد عارية مثل هذا:
باستخدام النظام ؛ باستخدام System.Collections.Generic. باستخدام System.Text. باستخدام UsbWirelessSecurity ؛ مساحة الاسم SampleUsbWiSecPlugins {[PresencePluginConfigurator ("Sample Plugin")] class public MyPlugin: PresencePluginBase {public overideide void WorkstationLocked () {// do cool stuff here} تجاوز العمل العام باطلة WorkstationUnlocked () {// افعل المزيد من الأشياء الرائعة هنا}}}
ثم قم بتجميع البرنامج المساعد الخاص بك ، وانسخ .dll إلى دليل البرنامج لتطبيق UsbWiSec ، وأعد تشغيل تطبيق UsbWiSec. سوف يظهر البرنامج المساعد الخاص بك بعد ذلك في التطبيق!
للحصول على أمثلة عن المكونات الإضافية الأكثر تعقيدًا ، وكيفية إنشاء مكون إضافي ، يمكنك تنزيل التعليمات البرمجية المصدر من SourceForge وفحصها بنفسك. عندما تكمل المكون الإضافي الخاص بك ، أخبر أحدًا منا وقد ندرجه في مجموعة المكونات الإضافية الأساسية.
براين باتشيلدر http://labs.patchadvisor.com/blogs/bryan
سكوت هانسيلمان http://www.computerzen.com