任意のウィンドウで選択した四角形からテキストを取得できるアプリケーションを作成しています。そのため、ExtTextOut(A/W)、TextOut(A/W)、DrawText(A/W) API をフックしてこれを行っています。Windows からテキストを取得することはできますが、特殊なケースではテキストを正しく取得できないことがあります。デバッグしようとすると、ExtTextOutW の HDC パラメータを使用して HWND を取得できないことがわかりました。これは、WindowFromDC(hdc) を呼び出そうとすると、NULL HWND が返されるためです。
理由を調べてみたところ、この HDC が memoryDC であることがわかったので、そのメモリ DC から HWND を取得する方法はありますか。
ですから、HDC から実際の HWND を取得するのを手伝ってください。