تغيير خلفية سطح المكتب - سي شارب - مقـــالات - Top Coder
Welcome to our Site
الدخــول Or تسجـــيل
الأربعاء
2016-12-07
5:18 PM
تسجــــيل | دخـــول
الرئيسية » مقالات » سي شارب

تغيير خلفية سطح المكتب
تغيير خلفية سطح المكتب

مقـــدمه
دائماً ما نفوم بتغيير خلفية سطح المكتب الخاصة بنا , ونتفنن في إختيار الصور التي نضعها في تلك الخلفيه , ونسعى بإستمرار لتغييرها , ولكن كثر منا لا يدري كيف يتم تغيير تلك الخلفيه , فقط ما نقوم به هو اختيار عنصر في القائمة الخاصه بالصورة , والامر ينتهي , فالصورة اصبحت في الخلفيه , لكن لم نفكر في الاجراءات التي نفذها ذلك العنصر .

والمقاله ستعرض اهم تلك الاجراءات التي تقوم في النهايه بتغيير الخلفيه , وتشرح برنامج يقوم بالتغيير المستمر لتلك الخلفيه , كما يحدث في Windows 7 .
كيف يتم تغيير الخلفيه
عملية تغيير الخلفيه لها اجراءات محدده وشروط معينه , فلعلك تتعجب عندما تعلم ان خلفية سطح المكتب لا تصلح لها سوى الصور ذات الامتداد bmp , ونتساءل اذاً كيف ونحن نختار انواع اخرى من الصور ذات امتدادت اخرى مثل jpg و غيرها ؟؟! .

بداية سنبدأ بكيفية تغيير الخلفيه بصورة بامتداد bmp , ثم ننتقل الى كيفية استخدام الامتدادت الاخرى , فعملية تغيير الخلفيه تقوم بها داله API تسمى SystemParametersInfo , حيث تقبل الداله اربع متغيرات , اهمها متغير string يأحذ مكان الصورة  - وعند استخدام دوال API فيجب استخدام النيم سبيس System.Runtime.InteropServices -  والكود التالي خاص بالداله  
SystemParametersInfo Method
 
حيث كما قلنا هناك اربع معاملات للداله وهي :
1- uAction وعادة تأخد القيمه 20 .
2- uParam وتأخذ القيمه 0x01 .
3- lpvParam وهو الاهم حيث يحتوي عيى نص مكان او مسار الملف المطلوب ( ويجب ان نتذكر انه ملف بامتداد bmp فلا يقبل غيره ) .
4- fuWinIni وتأخذ القيمه 0x02 .

والأن لنضع الداله في البرنامج , ونحاول تغيير الخلفيه عن طريقها  
 
استخدام الإمتدادت الاخرى
عند استخدام الكود السابق ووضع مسار الصورة bmp فسوف نرى ان الخلفية تغيرت بكل بساطه , ولكن حاول ان تجرب صورة ذات امتداد اخر مثل jpg مثلا , فماذا سيحدث ؟؟ ... فقط قم بالتجربه واذهب الى سطح المكتب , لن تجد سوى خلفيه ذات لون واحد وليست صورة , فتتلون الخلفيه بلون ازرق مثلا فقط . اذا ما الحل ؟؟

الحل بسيط ايضاً , حيث كل ما علينا فعله هو حفظ الصورة التي قمنا باختيارها - مهما كان امتدادها jpg , png او غيرها - بامتداد bmp , ووضع مكان الصورة المحفوظه في الداله , هذا هو كل ما في الأمر , فقد انتهى الموضوع , فيمكننا حفظ الصورة في اي مكان على الحاسب بامتداد bmp والذي تقبله الداله , ثم اختيار تلك الصورة لتكون خلفيه لسطح المكتب , والكود التالي يحتوي الداله التي تقوم بجميع الامور من حفظ وتغيير الخلفيه  
Change Method
 
وكما نرى فتقوم الداله اولاً بعمل مسار مؤقت ينتهي باسم الصورة , ثم نقوم بجلب الصورة المطلوبه وحفظها في المسار , ثم نقوم بتنفيذ الداله .

ويمكننا ايضاً تغيير الاستايل الخاص بالخلفيه من حيث Tiled Centered Stretched , حيث تلك القيمة تسجل في الريجيستري في مفتاح معين يحتوي على قيمتين WallpaperStyle , TileWallpaper حيث تحدد تلك القيمتين شكل الخلفيه , وقمنا بوضع الثلاث انواع في Combo Box ونقوم باستخدام Swich Case في التبديل بين الثلا قيم كالتالي  
Change Style
ختـــام
ويمكننا استخدام تلك الطريقه في العديد من التطبيقات  , حيث قمنا بعمل برنامج يقوم بتغيير الخلفيه بإستمرار بواقع 30 ثانيه , وهو كما يحدث في ويندوز 7 , ويمكنك تغيير الوقت المستقطع لكل صورة من الصو التي تختارها .
تحميل المشروع
 Written by :  Mohammed Mahmoud
الفئة: سي شارب | أضاف: ham_mody2000 (2011-09-02 2:57 PM)
مشاهده: 1708 | الترتيب: 0.0/0


أترك تعليقك من خلال حسابك على الفيس بوك

تعليقات مشتركي الموقع

مجموع المقالات: 0
إضافة تعليق يستطيع فقط المستخدمون المسجلون
[ التسجيل | دخول ]
طريقة الدخول
بحث
Our Facebook community

تم إطلاق صفحة توب كودر على الفيس بوك

Advertisment
الأحـــدث
hitstatus
Copyright Mohammed Mahmoud © 2016
إنشاء موقع مجاني с uCoz