【发布时间】:2017-03-25 04:16:27
【问题描述】:
我将我的 HWND 传递给一个子流程,以便它可以向我发送有关其进度的消息。有时我从未收到来自子流程的任何消息。 在调查时,我发现我传递给子进程的 GetSafeHwnd() 似乎返回了我不期望的值。
例如: 0xffffffffa5400382
基于此,我可能会推断出我没有正确地将该值与 int64/string 正确转换。我可以解决这个问题。但我觉得奇怪的是,这个 hwnd 看起来不正确?
是否存在 HWND 可以设置其高位的情况?这是一个普通的窗口,还是 hwnd 有什么特别之处?
我在 C++ 中,这是一个基于 CDialog 的应用程序窗口。
【问题讨论】:
-
进程是32位还是64位?句柄可以设置任何位,高位没什么特别的。
-
两个进程都是 64 位的。