السلام عليكم و رحمة الله و بركاته :
الصلاة و السلام على نبينا محمد و على آله و صحبه أجمعين .
( يا أخي والله بحثت عن هذا الموضوع و وجدت أنه تم الحديث عنه!! , ولكن ليس من الزاوية التي سأنظر من خلالها )
بعض الأخوة جزاهم الله كل خير قد تناولوا موضوع الـ Windows Management Instrumentation
بكثير من التفصيل و الأمثلة كالأخ ( Hazzom ) والأخ ( MiCcSoft ) في المشاركات التالية :
و كل ذلك قد تم من خلال الكود والاستعلامات التي تعمل ضمن الـ System.Management Namespace
الآن , الذي وجدته أنه يمكن التعامل من إدارة النظام والأجهزة وبكل سهولة من خلال Components يمكن إضافته من Classes جاهزة , و بالتالي التعامل معها ومع خصائصها يصبح و كأنك تتعامل مع أي Object عادي قد سحبته من شريط الأدوات . .... كيف ذلك ؟
(( لا أدري إن كان هذا المنهج الذي سأقوله الآن يمكن الاعتماد عليه مثل منهج الكود في مشاريع كبيرة ))
لن أطيل التفصيل , و سأترك الصور تشرح هذه الطريقة بإذن الله ....
1. في Visual Studio 2005 ومن نافذة Server Explorer و تحت فرع Servers أدخل إلى السيرفر الرئيسي , ثم إلى فرع Management Classes كما هو ميبن في الصورة التالية :
طبعاً يمكن الاستفادة من الـ Classes الموجودة افتراضياً , لكن سنضيف Class جديدة .
2. إذا قلنا له Add Classes كما في الصورة السابقة , سوف يفتح لنا مربع حوار لكي نضيف من خلاله ما نريد من Classes جديدة . الآن في شجرة الـ Classes ندخل إلى فرع Root\CIMV2 و الذي نجد فيه عشرات الـ Classes كما في الصورة التالية :
3. نختار من هناك Physical Media ثم نضيفها بواسطة الزر Add كما في الصورة التالية :
4. انقر زر OK , سوف يتم إضافة الـ Class الجديدة إلى فرع الـ Management Classes . الآن افتح فرع Physical Media Class من هناك , واختر القرص الذي تريد ( طبعاً هذا هو الهارد ديسك التابع لجهازك ) . Right Click عليه ثم Add To Designer كما في الصورة :
5. عند ذلك سوف يتم إضافة كائن أو Component جديدة إلى الـ Components Tray في المشروع , بالإضافة إلى ملف Class جديد تابع لها في Project Explorer كما يلي :
6. الآن يمكن الاستفادة من كل خصائص الـ Component الجديدة و بكل سهولة , فقط ضع اسمها في صفحة الكود وبعده نقطة و اختر ما تريد من الخصائص . مثلاً وجدت أن السطر التالي يعيد لي الـ Serial Number الحقيقي الخاص بالـ Hard Disk كالتالي :
Me.PhysicalMedia1.SerialNumber
بنفس الأسلوب يمكن الاستفادة من مئات الـ Classes المتاحة في الـ Management Classes , ويمكن التعرف على خصائص النظام و الأجهزة بهذه البساطة .
لا أدري هل يمكن الاعتماد على ذلك كبديل عن البرمجة بواسطة System.Management Namespace
هذا ما أريد أن تشاركوني فيه من أراء و نصائح ....
وفقنا الله و إياكم لما يحب و يرضى في الدنيا و الآخرة ..... والسلام عليكم .
