Take Screenshot in C#

First Set Process DPI Aware:

Get Screen Size on C#
https://pupli.net/2020/03/get-screen-size-on-c/

private void takeScreenShot()
{
    Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
    using (Graphics g = Graphics.FromImage(bmp))
    {
        g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);
        bmp.Save("screenshot.png");  // saves the image
    }                 
}

References
https://codingvision.net/miscellaneous/c-get-desktop-screenshot