Search code examples
c#.netvideocapturevideo-capture

Record a video of the screen using .NET technologies


Is there a way to record the screen, either desktop or window, using .NET technologies?

My goal is something free. I like the idea of small, low CPU usage, and simple, but I would consider other options if they created a better final product.

In a nutshell, I know how to take a screenshot in C#, but how would I record the screen, or area of the screen, as a video?


Solution

  • There isn’t any need for a third-party DLL. This simple method captures the current screen image into a .NET Bitmap object.

        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;
        }
    

    I am sure you can figure out how to capture a smaller portion of the screen, if that is needed :-).