gpt4 book ai didi

c++ - 在 Windows CE 6.0 中的进程之间共享 GDI 句柄

转载 作者:行者123 更新时间:2023-11-28 08:34:26 24 4
gpt4 key购买 nike

我知道 GDI 句柄在“大 Windows”中是唯一的且特定于进程,但它们在 Windows CE 6.0 中的工作方式是否相同?

例如:我有一个字体管理服务,其他几个服务和应用程序将使用该服务。该服务有一个有效字体列表和用于打印和显示的配置;已对它们中的每一个调用了 CreateFontIndirect()。当这些客户端应用程序之一请求特定字体(和配置)时,我可以返回适当的 HFONT 吗?如果没有,是否有一种安全/有效的方法来复制句柄,ala DuplicateHandle for Kernel handles。

我问的原因是,我已经看到通过 PostMessage 传递给另一个应用程序的 HFONT 可以正常工作,但我不认为它们是“应该”的。

最佳答案

我相信您是对的,您不能指望 HFONT 可以安全地跨进程传递。

'The reason I ask, is that I've seen HFONTs passed to another application through PostMessage work correctly, but I didn't think they were 'supposed' to.'

它们没有正确传递,因此没有“应该”。虽然 HFONT 不能保证跨进程工作,但也不能保证它们在跨进程中唯一。 'Arial' 在每个应用程序的特定版本的某个时间点在两个不同进程中可能具有相同的 HFONT 值,并且可能随时更改(包括使用它的中途!)

这就像我正在画画,橙色油漆用完了,我把它作为我卡在挂架上的第三根 pipe 。我可以伸手去拿你的第三个图皮……但我不能保证它是橙色的……我不能保证它甚至含有油漆!也许你今天在刷牙..哎呀!

GDI 句柄就像该示例中的数字“3”。今天,GDI 可能会在所有 eales 上保持相同的管状顺序。它可能使其中一些保持有序,而另一些则没有(即,橙色“sorta works”,但“seafoam green”被破坏)。它们在一台 CE 设备上可能是有序的,但在另一台设备上可能不是。

一如既往,YMMV。

关于c++ - 在 Windows CE 6.0 中的进程之间共享 GDI 句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/133948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com