12
Ekranı bir bitmapte yakalamak için aşağıdaki kodu kullanıyorum. Ekran çekildi, ancak ekranda fare imlecini alamıyorum. Farenin de yakalanması için alternatif bir yaklaşım önerebilir misiniz?Windows API'lerini kullanarak ekran ve fare işaretçisi nasıl yakalanır?
private Bitmap CaptureScreen()
{
// Size size is how big an area to capture
// pointOrigin is the upper left corner of the area to capture
int width = Screen.PrimaryScreen.Bounds.X + Screen.PrimaryScreen.Bounds.Width;
int height = Screen.PrimaryScreen.Bounds.Y + Screen.PrimaryScreen.Bounds.Height;
Size size = new Size(width, height);
Point pointOfOrigin = new Point(0, 0);
Bitmap bitmap = new Bitmap(size.Width, size.Height);
{
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen(pointOfOrigin, new Point(0, 0), size);
}
return bitmap;
}
}
Güzel, temiz ve hızlı kodu. Teşekkürler. –
Not: Bu kod, ofsetler için 'GetIconInfo' çağırmanız gerektiğinden, bazı kodları yanlış konuma çekecektir. Ayrıca bazıları soluk görünür, daha fazla bilgi için bkz: http://stackoverflow.com/questions/918990/ – WhoIsRich