Tôi đang viết một số loại chức năng IPC và cần chuyển một số tài nguyên nhất định từ quy trình này sang quy trình khác. Điều này làm việc tốt cho ống xử lý vv mà có thể được nhân đôi thông qua DuplicateHandle. Bây giờ tôi cần phải vượt qua một HDC từ một quá trình khác. Điều này thậm chí có thể? Nếu có: làm thế nào?Chia sẻ HDC giữa các quy trình khác nhau
Câu hỏi phụ: Tôi giả định xử lý cửa sổ chuyển tiếp (HWND) từ quy trình này sang quy trình khác là an toàn. Giả định này có đúng không?
Tôi nghĩ rằng bạn và nobugz đều thích hợp với việc nhấn mạnh rằng vấn đề của tôi có thể được xem như là chia sẻ tài nguyên GDI nói chung. Tôi tìm thấy một bài viết liên quan ở đây: http://stackoverflow.com/questions/133948/sharing-gdi-handles-between-processes-in-windows-ce-6-0 Có ai đó muốn chia sẻ HFONTs. Có lẽ đây là giải đấu giống như HDC. Nhưng nếu có bảng này ánh xạ vào mọi quá trình thì tôi muốn có một hàm DuplicateGDIHandleFromThisTableForTheCurrentProcess đơn giản ... –
Thực tế là bảng tồn tại trong tất cả các quá trình là một tạo phẩm của việc thực hiện GDI hiện tại, không phải là một tính năng thiết kế. Nó có thể biến mất. Và rất nhiều trường hợp các đối tượng GDI có con trỏ để sử dụng các cấu trúc dữ liệu để cho dù, xử lý là hợp lệ trên toàn hệ thống, đối tượng GDI thực sự chỉ có thể truy cập thành công trong một tiến trình. –
Ok vì vậy những gì chắc chắn sẽ không hoạt động là sử dụng cùng một xử lý mà không cần thêm marshalling vào quá trình khác. Điều này đặt câu hỏi liệu có một chức năng công khai có sẵn để làm điều này không? –