私はExtTextOut GDI APIをフックしています。 出力文字列の正確な場所を取得します。私はRECTのPARAMからか、X、Y paramsはから文字列の位置を取得することができます意味fuOptionsのPARAMためETO_CLIPPEDを取得しています、特定の場合にはLPtoDP APIの問題を使用する(GDI API)
BOOL ExtTextOut(
__in HDC hdc,
__in int X,
__in int Y,
__in UINT fuOptions,
__in const RECT *lprc,
__in LPCTSTR lpString,
__in UINT cbCount,
__in const INT *lpDx
);
。
しかし、私はLPtoDP APIを使用して位置(RECTまたはX、Y)を変換すると、間違った位置になります(変換する前に負の値が得られます)。
私は次のことを確認したときに、しかし私はそのために何indicatonを見ていない、それはオフセットが間違ってい推測:
マップモードがMM_TEXT(デフォルト)
GetWindowOrgExは0,0
GetViewportOrgExが0です、0
GetWindowExtExは1,1
GetViewportExtExは1,1
誰もが任意のアイデアを持っています、すべてのヘルプは感謝されますされていますd。おかげさまで
あなたは*フックしていますか?間違ったデバイスコンテキストを使用しているように見えます。 –
あなたは詳しく教えていただけますか? ExtTextOutWコールで間違ったDCを使用するにはどうすればいいですか? – Momico