Нужно сделать снимок невидимой формы.
делаю вот так:
Bitmap ret = null;
Bitmap bitmap = new Bitmap(1152, 864);
Graphics graphics = Graphics.FromImage(bitmap);
IntPtr memdc = graphics.GetHdc();
IntPtr hbitmap = bitmap.GetHbitmap();
Win32API.SelectObject(memdc, hbitmap);
PRF flag = PRF.CLIENT| PRF.NONCLIENT;
SendMessage((IntPtr)(0x00041540), (uint)0x0317, (uint)memdc, (uint)flag);
ret = Bitmap.FromHbitmap(hbitmap);
ret.Save("test.bmp");
clsRet = System.Drawing.Image.FromHbitmap(hbitmap);
Win32API.DeleteObject(hbitmap);
graphics.ReleaseHdc(memdc);
graphics.Dispose();
bitmap.Dispose();
Импорт ДЛЛ из User32 и gdi32 — я тут не пишу..
В итоге — получается синий экран... (не синий экран смерти, а БМП-шка которая покрашена в синий цвет. при созднии — она белая)
0x0317 — это WM_PRINT
0x00041540 — это Window Handle который я получил с окна нужного Spy.(для простоты прям в исходник решил забить, что бы мнеьше кода было.)
1152, 864 — размер окна, с которого надо сделать снимок.
Пожалуйста, подскажите, что не так?