Когда у пользователя несколько мониторов., не получается корректно разместить курсор мыши на скриншоте.
Курсор рисуется относительно главного экрана, но если у пользователя главный экран по средине, или где-то в крайнем правом углу, то курсор размещается некорректно.
Подскажите пожалуйста, как правильно определить главный экран и корректно разместить курсор на скриншоте?
Вот кусок кода
namespace Screenshot
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CaptureDesktop();
}
private static void CaptureDesktop()
{
Rectangle desktopRect = GetDesktopBounds();
using (Bitmap bitmap = new Bitmap(desktopRect.Width, desktopRect.Height))
{
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen(desktopRect.Location, Point.Empty, bitmap.Size);
graphics.DrawImage(Image.FromFile("cursor.png"), Cursor.Position.X, Cursor.Position.Y);
bitmap.Save("C:\\screenshots\\Test.jpeg");
}
}
}
private static Rectangle GetDesktopBounds()
{
Rectangle result = new Rectangle();
foreach (Screen screen in Screen.AllScreens)
{
result = Rectangle.Union(result, screen.Bounds);
}
return result;
}