adBrite

Your Ad Here

music

BidVertiser

Wednesday, October 27, 2010

Capturing the Desktop Screen with the Mouse Cursor Image (Rashid.Mahmood )

public static Bitmap CaptureDesktopWithCursor()
{    
   int cursorX = 0;
   int cursorY = 0;
   Bitmap desktopBMP;
   Bitmap cursorBMP;
   Bitmap finalBMP;
   Graphics g;
   Rectangle r;
   desktopBMP = CaptureDesktop();
   cursorBMP = CaptureCursor(ref cursorX, ref cursorY);
   if(desktopBMP != null)
   {
       if (cursorBMP != null)
       {
           r = new Rectangle(cursorX, cursorY,
                   cursorBMP.Width, cursorBMP.Height);
           g = Graphics.FromImage(desktopBMP);
           g.DrawImage(cursorBMP, r);
           g.Flush();
           return desktopBMP;
       }
       else
           return desktopBMP;
   }
   return null;
}

static Bitmap CaptureCursor(ref int x, ref int y)
{
   Bitmap bmp;
   IntPtr hicon;
   Win32Stuff.CURSORINFO ci = new Win32Stuff.CURSORINFO();
   Win32Stuff.ICONINFO icInfo;
   ci.cbSize = Marshal.SizeOf(ci);
   if(Win32Stuff.GetCursorInfo(out ci))
   {
       if (ci.flags == Win32Stuff.CURSOR_SHOWING)
       {
           hicon = Win32Stuff.CopyIcon(ci.hCursor);
           if(Win32Stuff.GetIconInfo(hicon, out icInfo))
           {
               x = ci.ptScreenPos.x - ((int)icInfo.xHotspot);
               y = ci.ptScreenPos.y - ((int)icInfo.yHotspot);
               Icon ic = Icon.FromHandle(hicon);
               bmp = ic.ToBitmap();

               return bmp;
           }
       }
   }
   return null;
}

// ssWithMouseViewer is the PictureBox control

private void Display(Bitmap desktop)
{
    Graphics g;
    Rectangle r;
    if(desktop != null)
    {
        r = new Rectangle(0,0,ssWithMouseViewer.Width,
                            ssWithMouseViewer.Height);
        g = ssWithMouseViewer.CreateGraphics();
        g.DrawImage(desktop,r);
        g.Flush();
    }
}

No comments:

Post a Comment

clicksor

Go Daddy Girl Ella Koon- $7.49 .COM Domains
CompUSA