Graphics graph = null;
var bmp = new Bitmap(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
graph = Graphics.FromImage(bmp);
graph.CopyFromScreen(0, 0, 0, 0, bmp.Size);
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
string path = desktop + @"\ВАЖН0\text\" ;
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
bmp.Save(path+"1.jpg",ImageFormat.Jpeg);
Ток добавь ссылку на WinForms или используй SystemInformation или чёто другое для получения разрешения.
P.S. По поводу скриншота с камеры код из интернета прекрасно работает, прооверил без ошибок
using System;
using System.Runtime.InteropServices;
namespace ConsoleApplication2
{
class Program
{
private const int WM_CAP_DRIVER_CONNECT = 0x40a;
private const int WM_CAP_DRIVER_DISCONNECT = 0x40b;
private const int WS_CHILD = 0x40000000;
private const int WS_POPUP = unchecked((int)0x80000000);
private const int WM_CAP_SAVEDIB = 0x419;
[DllImport("avicap32.dll", EntryPoint = "capCreateCaptureWindowA")]
public static extern IntPtr capCreateCaptureWindowA(string lpszWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hwndParent, int nID);
[DllImport("user32", EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
public static void Main()
{
String dName = "".PadRight(100);
String dVersion = "".PadRight(100);
IntPtr hWndC = capCreateCaptureWindowA("VFW Capture", WS_POPUP | WS_CHILD, 0, 0, 320, 240, 0, 0); // узнать дескриптор камеры
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); //подключиться к камере
string path = @"D:\test.jpg";
IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);
SendMessage(hWndC, WM_CAP_SAVEDIB, 0, hBmp.ToInt32()); // сохранить скриншот
SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0); //отключить камеру
}
}
}