Как я могу перехватывать команды отрисовки GDI высокого уровня?

Я пытаюсь создать приложение, которое разрешает удаленный доступ к другим приложениям (работающим на разных машинах). Идея состоит в том, чтобы предоставить пользователям прозрачный доступ к определенным приложениям. В основном у меня есть два варианта:

  • Потоковая передача приложений
  • Перехватываем команды отрисовки и воспроизводим их в клиенте

(разумеется, ввод перенаправляется с клиента на сервер)

У меня есть рабочая версия с потоковой передачей приложений, но я понятия не имею, как это сделать с помощью подключения к Win API...

Любые идеи ?


person user90188    schedule 21.04.2009    source источник


Ответы (1)


То, что вы описываете, очень похоже на метафайл Windows. Метафайл записывает все команды рисования GDI в файл; затем этот файл можно передать на удаленный компьютер и отобразить там.

Для начала см. CreateEnhMetaFile. Это возвращает дескриптор контекста устройства, который вы рисуете вместо рисования в обычном контексте экранного устройства.

person Mark Ransom    schedule 21.04.2009