Ich gebe meinen HWND an einen Unterprozess weiter, damit er mir Nachrichten über seinen Fortschritt schicken kann. Gelegentlich erhalte ich nie irgendwelche Nachrichten vom Unterprozess. Bei der Untersuchung habe ich festgestellt, dass GetSafeHwnd(), von dem ich an den Subprozess übergebe, Werte zurückgibt, die ich nicht erwarte.Ist es normal, dass ein High-Bit gesetzt ist?
Zum Beispiel: 0xffffffffa5400382
auf dieser Grundlage kann ich wohl folgern, dass ich nicht richtig richtig, diesen Wert zu/von einem int64/string umgewandelt wird. Ich kann das reparieren. Aber was ich seltsam finde ist, dass dieses Hwnd einfach nicht richtig aussieht?
Gibt es Szenarien, in denen ein HWND sein High-Bit setzen kann? Ist das ein normales Fenster, oder gibt es etwas Besonderes an dem Hwnd, so zu enden?
Ich bin in C++, dies ist ein CDialog-basierten Anwendungsfenster.
Ist der Prozess 32 oder 64bit? Die Griffe können beliebige Bits gesetzt haben, das hohe Bit ist nichts besonderes. –
Beide Prozesse sind 64-Bit. –