سؤال

هل هناك طريقة لتسجيل الشاشة، إما سطح المكتب أو نافذة، باستخدام تقنيات .NET.

هدفي هو شيء حر. أحب فكرة استخدام وحدة المعالجة المركزية الصغيرة والمنخفضة، وبسيطة، لكنه سيفكر خيارات أخرى إذا خلقوا منتج نهائي أفضل.

باختصار، أعرف كيفية التقاط لقطة شاشة في C #، ولكن كيف يمكنني تسجيل الشاشة أو منطقة الشاشة، كفيديو؟

شكرا جزيلا لأفكارك والوقت!

هل كانت مفيدة؟

المحلول

ليست هناك حاجة ل DLL لجهة خارجية. تلتقط هذه الطريقة البسيطة صورة الشاشة الحالية في كائن نقطي .NET.

    private Image CaptureScreen()
    {
        Rectangle screenSize = Screen.PrimaryScreen.Bounds;
        Bitmap target = new Bitmap(screenSize.Width,screenSize.Height);
        using(Graphics g = Graphics.FromImage(target))
        {
            g.CopyFromScreen(0,0,0,0,new Size(screenSize.Width,screenSize.Height));
        }
        return target;
    }

أنا متأكد من أنه يمكنك معرفة كيفية التقاط جزء أصغر من الشاشة، إذا كانت هذه مطلوبة :-).

نصائح أخرى

يمكنك استخدام Windows Media Encoder SDK لإنشاء تطبيق AC # لتسجيل الشاشة. هناك خيارات مضمنة لتسجيل سطح المكتب بأكملها أو نافذة معينة أو جزء من الشاشة.

هناك DLL هناك يمكن أن تفعل ذلك. لا تتذكر اسم ذلك ولكنه يستخدم من قبل جينغ. وبعد نفذ صديق لي مسجل الشاشة في بضع دقائق فقط باستخدام DLL هذا، فقط لاختبار. تحقق من jing وربما تجد DLL يستخدمونها.

يمكنك استخدام Media Encoder SDK لكنها غير مدعومة على نظام التشغيل Windows 7.

قد تجرب هذه الأداة المساعدة OpenSource: ScreenRecord (http://screenrecord.codeplex.com/) يعتمد على aforge.net

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top