الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال:عرض الصورة التي على سطح المكتب

مغلق
بدأه idle man في 24 سبتمبر 2005 · 8 رد · 742 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ...

فكرة . ذات مرة بأن اعرض الصورة التي على الخلفية (( سطح المكتب)) على الفورم اللي انا اشتغل عليها ...

ولكن منذ ذلك اليوم إلى هذا اليوم .. لم اتمكن من حل هذه المسألة .. فهل اجد المساعدة..

تم تعديل هذه المشاركة بواسطة crazy-man في 24 سبتمبر 2005 في 17:30

#2

جرب هذا الكود فى حدث تحميل الفورم

SendKeys.Send("%({PRTSC})")
Me.BackGroundImage= _
Clipboard.GetDataObject.GetData("Bitmap", True)

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

لقد استخدمه .. لكن للأسف يعطيني خطأ..

وذلك بأن الكلاس المستخدم غير مسجل ..

Error in JIT: The class that you used is not registred ..

#5

هيا حقيقى فكرة حلوة و تدى للفورم شكل ظريف

ممكن تعملها عن طريق استعمال BITBLT api و تنسخ محتويات سطع المكتب فى picturebox hidden او ل image و تظبط حجمها و بعدين تجعلها الخلفية للفورم

أحمد صلاح

#6
dev_a_salah كتب:
ممكن تعملها عن طريق استعمال BITBLT api

ما هذا ... عن جد اريد عمل هذه الحركة ...

#7

الحمد لله .. لقد حللتها في هذا .. وذلك بالإستعانة بالريجستري.

أولا اضيفوا ..

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 ..

#8

السلام عليكم

ماشاء الله مشروع قيم يستحق المعاينة و التجربة,

وهنا مداخله بسيطة, المفتاح ConvertedWallpaper يعود بقيمة الصورة الحقيقية , حتى ولو تمت إزالة الـ wallpaper

من الواجهة desktop, ولا تُزال إلا بإستبدالها بصورة أخرى ( اي عملية replace )

و من خلال التجربة تلاحظ أنك لو أزلت ورقة الجدار, ومن ثم عاينت البرنامج فإنه سيجلب لك أخر ورقة استخدمت,حتى ولو كانت حالياً

مزالة من واجهة النظام desktop

الحل إن نستخدم المفتاح Wallpaper بدلاً من المفتاح ConvertedWallpaper ,لانه الاول يأخذ اسم الصورة بعد تحويلها

إلى النمط bmp فمتى تم حذف ورقة الجدار بالقيمة مثلاً none فإن هذا المفتاح سيتم حذف القيمة الاخيرة فيه و سيصبح

فارغ تماماً و شاهد السجل بعد حذف ورقة الجدار منه , إليك ذلك

02_10_05_02_50_46_1128289846wallpaperKey.gif

تعديل النصوص البرمجية يكون كالتالي:

' 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

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#9

شكراً.. اخ الغملاسي..

لقد لا حظت هذا الشيء البارحة . وعدلت الكود مثل ما قلت .. بس لظروف لم اتمكن للدخول على المنتدى..

وفي صباح هذا اليوم . راي الرد .. واكرر..

مشكور..

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…