PrintWindow (user32)
Last changed: -91.134.247.202

.
Summary
The PrintWindow function copies a visual window into the specified device context (DC), typically a printer DC.

C# Signature:

[DllImport("user32.dll", SetLastError=true)]
static extern bool PrintWindow(IntPtr hwnd, IntPtr hDC, uint nFlags);

VB Signature:

Declare Function PrintWindow Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal hdcBlt As IntPtr, ByVal nFlags As Integer) As Boolean

User-Defined Types:

None.

Notes:

This function is only available on Windows XP or higher. Windows 2000/9x/ME do not support it.

Tips & Tricks:

To capture only the client area of window, use PW_CLIENTONLY = 0x1 as nFlags

Sample Code:

Please add some!

Me.AutoRedraw = True
PrintWindow Me.hWnd, Me.hDC, 0

Alternative Managed API:

Control.DrawToBitmap()

Or call Control.InvokePaintBackground() followed by Control.InvokePaint().

Documentation
PrintWindow on MSDN