我正在使用windows api创建剪辑的HDC(设备上下文)句柄,然后将其发送到另一个进程。这个句柄对于绘制是否有效?
答案 0 :(得分:2)
设备上下文句柄在另一个进程中无效。考虑公开一个其他进程可以用来在窗口中绘制的界面。
答案 1 :(得分:2)
您需要在应用程序中公开绘制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
}
最后来自第三方应用程序,他们可以通过SendMessage API简单地向您的应用程序发送消息:
SendMessage(hWndSergey, WM_USER + 1, 0, 0);
其中LPARAM和WPARAM可以指向全局共享内存以交换参数或只是dword值等...
http://msdn.microsoft.com/en-us/library/ms644950(v=VS.85).aspx