Есть ли способ подключить все функции рисования для процесса под окнами? - PullRequest
0 голосов
/ 21 июля 2011

Я хочу захватить все, что отображается в окне. С другой стороны, было бы очень хорошо, если бы это окно на самом деле ничего не отображало на экране. Как? Процесс вызовет функции рисования, моя функция перехватит его и перетянет в другое место (например, в растровый файл) и вернет без фактического рисования на экране.

Что я знаю, так это то, что в архитектуре Windows NT каждый поток имеет таблицу системных вызовов, и вы можете изменить таблицу системных вызовов одного потока (или просто установить ее в начале) на свои функции. Изменяя только API рисования (GDI?) (Я не уверен, как бы я выжил, если бы приложение использовало рендеринг DirectX, но, возможно, есть способ), я чувствую, что могу это сделать. Могу я? Что делать, если приложение использует визуализацию DirectX?

Заранее спасибо,

Али Вели

1 Ответ

0 голосов
/ 09 января 2013

Я закончил тем, что перехватил только функции, подобные CreateDC, сделал так, чтобы он всегда создавал контекст устройства памяти и позволял всем остальным функциям рисовать на этом DC памяти.

...