簡體   English   中英

在Windows CE 6.0中的進程之間共享GDI句柄

[英]Sharing GDI handles between processes in Windows CE 6.0

我知道GDI句柄在“ Big Windows”中是唯一的並且特定於進程,但是在Windows CE 6.0中它們是否以相同的方式工作?

例如:我有一個字體管理服務,其他一些服務和應用程序將使用它。 該服務具有用於打印和顯示的有效字體和配置的列表; 在每個函數上都調用了CreateFontIndirect()。 當這些客戶端應用程序之一請求特定的字體(和配置)時,我可以將其返回適當的HFONT嗎? 如果不是,是否存在一種安全/有效的方法來復制該句柄,所以對於內核句柄來說,它就是DuplicateHandle。

我問的原因是,我已經看到通過PostMessage傳遞給另一個應用程序的HFONT可以正常工作,但是我不認為它們是“應有的”。

我相信您是正確的,您不能依靠HFONT安全地跨流程傳遞。

“我問的原因是,我已經看到通過PostMessage傳遞給另一個應用程序的HFONT可以正常工作,但是我不認為它們是“應有的”。

它們沒有正確通過,因此沒有“本應”。 雖然不能保證HFONT在整個流程中都可以工作,但也不保證在整個流程中它們都是唯一的 “ Arial”在每個應用程序的特定版本的某個時間點的兩個不同過程中可能具有相同的HFONT值,並且可能隨時更改(包括使用過程中途!)。

就像我正在繪畫,並且用完橙色顏料一樣,我將其保留為我的第三根管。 我可以伸手去拿第三根鉛筆...但是我不能保證它是橙色的...我不能保證它甚至包含油漆! 也許您今天在刷牙在刷牙..哎呀!

GDI句柄在該示例中類似於數字“ 3”。 如今,GDI可能會將所有導管上的導管保持相同的順序。 它可能會使其中一些保持秩序,而有些則無法保持秩序(即橙色的“ sorta作品”,但是“ seafoam green”被破壞)。 它們可能在一個CE設備上是按順序排列的,但在另一個CE設備上不是。

與往常一樣,YMMV。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM