共用方式為


C28623

警告 C28623:未簽署的 GetMessagePos () 座標轉換。 使用 GET_X_LPARAM/GET_Y_LPARAM,而不是LOWORD/HIWORD

具有多個監視器的系統可以有負 x 座標和 Y 座標。 在這類系統上, GetMessagePos 可能會傳回負值。 不過,因為 LOWORDHIWORD 會將座標視為不帶正負號的數量,所以不應該使用它們。

範例

PREfast 會報告下列範例的警告。

DWORD dw = GetMessagePos();
POINT ppt;

ppt.x = LOWORD(dw);
ppt.y = HIWORD(dw);

下列範例會避免錯誤。

DWORD dw = GetMessagePos();
POINT ppt;

ppt.x = GET_X_LPARAM(dw);
ppt.y = GET_Y_LPARAM(dw);