السلام عليكم ورحمة الله وبركاته ...
فكرة . ذات مرة بأن اعرض الصورة التي على الخلفية (( سطح المكتب)) على الفورم اللي انا اشتغل عليها ...
ولكن منذ ذلك اليوم إلى هذا اليوم .. لم اتمكن من حل هذه المسألة .. فهل اجد المساعدة..
السلام عليكم ورحمة الله وبركاته ...
فكرة . ذات مرة بأن اعرض الصورة التي على الخلفية (( سطح المكتب)) على الفورم اللي انا اشتغل عليها ...
ولكن منذ ذلك اليوم إلى هذا اليوم .. لم اتمكن من حل هذه المسألة .. فهل اجد المساعدة..
تم تعديل هذه المشاركة بواسطة crazy-man في 24 سبتمبر 2005 في 17:30
جرب هذا الكود فى حدث تحميل الفورم
SendKeys.Send("%({PRTSC})")
Me.BackGroundImage= _
Clipboard.GetDataObject.GetData("Bitmap", True)VB.NET and C# Comparison
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

لقد استخدمه .. لكن للأسف يعطيني خطأ..
وذلك بأن الكلاس المستخدم غير مسجل ..
Error in JIT: The class that you used is not registred ..
هيا حقيقى فكرة حلوة و تدى للفورم شكل ظريف
ممكن تعملها عن طريق استعمال BITBLT api و تنسخ محتويات سطع المكتب فى picturebox hidden او ل image و تظبط حجمها و بعدين تجعلها الخلفية للفورم
أحمد صلاح
الحمد لله .. لقد حللتها في هذا .. وذلك بالإستعانة بالريجستري.
أولا اضيفوا ..
Imports Microsoft.Win32
ثم
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' The operation that read only and retrievesthe current Wallpaper At desktop
Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("Control Panel", False).OpenSubKey("Desktop", False)
Dim wall As String = key.GetValue("ConvertedWallpaper", "Nothing")
'This condition declare if there is an error Occured
If wall.ToString = "Nothing" Then
MsgBox("an Error ocuured")
Else
PictureBox1.Image = Image.FromFile(wall)
End If
End Subمع العلم يجب ان يكون في الفورم PictureImage ..
السلام عليكم
ماشاء الله مشروع قيم يستحق المعاينة و التجربة,
وهنا مداخله بسيطة, المفتاح ConvertedWallpaper يعود بقيمة الصورة الحقيقية , حتى ولو تمت إزالة الـ wallpaper
من الواجهة desktop, ولا تُزال إلا بإستبدالها بصورة أخرى ( اي عملية replace )
و من خلال التجربة تلاحظ أنك لو أزلت ورقة الجدار, ومن ثم عاينت البرنامج فإنه سيجلب لك أخر ورقة استخدمت,حتى ولو كانت حالياً
مزالة من واجهة النظام desktop
الحل إن نستخدم المفتاح Wallpaper بدلاً من المفتاح ConvertedWallpaper ,لانه الاول يأخذ اسم الصورة بعد تحويلها
إلى النمط bmp فمتى تم حذف ورقة الجدار بالقيمة مثلاً none فإن هذا المفتاح سيتم حذف القيمة الاخيرة فيه و سيصبح
فارغ تماماً و شاهد السجل بعد حذف ورقة الجدار منه , إليك ذلك
تعديل النصوص البرمجية يكون كالتالي:
' The operation that read only and retrieves the current desktop's wallpaper
Dim key As RegistryKey = _
Registry.CurrentUser.OpenSubKey("Control Panel", False).OpenSubKey("Desktop", False)
'Get the Wallpaper Key Value
Dim wall As String = key.GetValue("Wallpaper", "Nothing")
'This There's no Image Path exist
If wall = String.Empty Then
'There's no wallpaper applied on Desktop
Me.PictureBox1.Image = Nothing
Else
'assign tha wallpaper path to image method
PictureBox1.Image = Image.FromFile(wall)
End Ifبالتوفيق إن شاء الله.
في المثال يتضح المقال
شكراً.. اخ الغملاسي..
لقد لا حظت هذا الشيء البارحة . وعدلت الكود مثل ما قلت .. بس لظروف لم اتمكن للدخول على المنتدى..
وفي صباح هذا اليوم . راي الرد .. واكرر..
مشكور..
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…