full example at this site
You need two functions :
[DllImport("dwmapi.dll")]
static extern int DwmRegisterThumbnail(IntPtr dest, IntPtr src, out IntPtr thumb);
[DllImport("dwmapi.dll")]
static extern int DwmUpdateThumbnailProperties(IntPtr hThumb, ref DWM_THUMBNAIL_PROPERTIES props);
usage of DwmRegisterThumbnail
you are at your form, and process it a external program that you want to paint at your program.
IntPtr hWnd = process.MainWindowHandle;
int i = DwmRegisterThumbnail(this.Handle, hWnd, out thumb);
after registration, you just saying to windows the location to paint the picture
DWM_THUMBNAIL_PROPERTIES props = new DWM_THUMBNAIL_PROPERTIES();
props.fVisible = true;
props.dwFlags = DWM_TNP_VISIBLE | DWM_TNP_RECTDESTINATION | DWM_TNP_OPACITY;
props.opacity = 255;
props.rcDestination = new Rect(panel.Left, panel.Top, panel.Right, panel.Bottom);
DwmUpdateThumbnailProperties(thumb, ref props);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…