дескриптор HDC действителен для другого процесса? - PullRequest
1 голос
/ 01 апреля 2011

Я создаю обрезанный дескриптор HDC (Device Context), используя windows api, а затем отправляю его другому процессу.Будет ли эта ручка действительна для рисования в ней?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Вам потребуется предоставить метод рисования на DC из вашего приложения.

Наиболее вероятными кандидатами являются определенные вами сообщения Windows (WM_APP или WM_USER).

WM_USER + 1,
WM_USER + 2,
WM_USER + 3,
etc...

тогда вы бы обработали это в своих приложениях WNDPROC

switch case
{
  WM_USER + 1:
   // draw a circle
  WM_USER + 2:
   // draw a rectangle
  WM_USER + 3:
   // draw a snowman
}

наконец, из стороннего приложения, они просто отправят сообщения в ваше приложение через API SendMessage:

SendMessage(hWndSergey, WM_USER + 1, 0, 0);

где LPARAM и WPARAM могут быть указателями на глобальную разделяемую память для обмена параметрами или просто значениями слов и т. Д. *

http://msdn.microsoft.com/en-us/library/ms644950(v=VS.85).aspx

2 голосов
/ 01 апреля 2011

Дескриптор контекста устройства не будет действительным в другом процессе.Подумайте об открытии интерфейса, который другой процесс может использовать для рисования в вашем окне.

...