Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Нужна помощь со скриншотом DirectX окна  [new]
cm0121
Member

Откуда:
Сообщений: 2
Здравствуйте. Очень нуждаюсь в Вашей помощи.
Нужно сделать скриншот программы (скорее всего работает через DirectX - браузер Chrome) на виртуальном рабочем столе.
Текущий мой способ создания скриншотов меня устраивает, нормально делает скриншоты других приложений, но вот гугл хром отображается как черный кввадрат...
Может кто-то поделится кодом для создания скриншотов DirectX приложений на виртуальном рабочем столе...

P.S. сейчас скриншот делаю с помощью PrintWindow из user32.dll.
function zPrintWindow(hHWND: HWND; Bmp: TBitmap): Boolean;
var
  r: TRect;
begin
  try
  result := False;
  GetWindowRect(hHWND, r) ;
  bmp.Width := r.Right - r.Left;
  bmp.Height := r.Bottom - r.Top;
  result := PrintWindow(hHWND, Bmp.Canvas.Handle, 0) ;
  except
  end;
end;


P.S.2. Иногда проскакивает нормальный скриншот, странно это все.

Очень жду Вашей помощи...
4 янв 18, 12:44    [21081464]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
alekcvp
Member

Откуда:
Сообщений: 1211
cm0121,

Если приложение через Overlay работает, то там надо из буфера видеокарты изображение вынимать, потому что с точки зрения ОС - это просто одноцветный квадрат.
4 янв 18, 18:28    [21082080]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
VDSoft
Member

Откуда:
Сообщений: 40
cm0121,

А если "слепой" try/except убрать, - может оно там в этом случае ошибку какую-то дает?
4 янв 18, 18:32    [21082088]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10643
VDSoft
А если "слепой" try/except убрать, - может оно там в этом случае ошибку какую-то дает?
Чтобы давало ошибки нужно их проверять. WinAPI функции крайне редко бросают исключения. А вот возвращают коды ошибок всегда
4 янв 18, 18:36    [21082091]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 3604
cm0121,

старенько, но суть вроде понятна

http://www.delphimaster.ru/articles/directx/
4 янв 18, 19:25    [21082185]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
VDSoft
Member

Откуда:
Сообщений: 40
_Vasilisk_,

Тогда уж и вовсе непонятно, для чего там такая коряга.
4 янв 18, 20:36    [21082304]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь со скриншотом DirectX окна  [new]
cm0121
Member

Откуда:
Сообщений: 2
Всем спасибо за ответы, буду разбираться.
Если что-то будет, напишу...
5 янв 18, 02:06    [21082614]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить