This is simple project which captures the form and save its image on the C drive. Create a new application in vb.net, set any background of the from and drag a button on it. Import the InteropServices as:
Imports System.Runtime.InteropServices
<DllImport("gdi32.DLL", EntryPoint:="BitBlt", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Private Shared Function BitBlt(ByVal hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As System.Int32) As Boolean
End Function
Now right the following code on the button click event:
Dim g1 As Graphics = Me.CreateGraphics()
Dim MyImage = New Bitmap(Me.ClientRectangle.Width, (Me.ClientRectangle.Height), g1)
Dim g2 As Graphics = Graphics.FromImage(MyImage)
Dim dc1 As IntPtr = g1.GetHdc()
Dim dc2 As IntPtr = g2.GetHdc()
BitBlt(dc2, 0, 0, Me.ClientRectangle.Width, (Me.ClientRectangle.Height), dc1, 0, 0, 13369376)
g1.ReleaseHdc(dc1)
g2.ReleaseHdc(dc2)
MyImage.Save("C:\\From1.bmp")
MsgBox("Form1 is captured and save on C drive as From1.bmp",MsgBoxStyle.Information,"Form Saved")
Button1.Enabled = False
Posted on 8/23/2008 6:40:42 AM by vedavathi.HT