Windows 8 (64 ビット) で 64 ビット アプリケーションの CreateWindowExA を呼び出す際の既知の問題はありますか?
コンテキスト: FOX Toolkit (FOX STABLE 1.6.46) を使用しています。最も単純なHello Worldサンプル (「hello」) をコンパイルして実行するとCreateWindowExA
、ファイル FXWindow.cpp:1345 の呼び出しはゼロの HWND ハンドルを返します (ただしGetLastError()
、エラーは報告されません)。これは、1 つの特定の構成でのみ発生します。
OS | OS Platform | App compiled for | CreateWindowExA succeeds? |
Windows 7 | 32-bit | 32-bit | YES |
Windows 7 | 64-bit | 32-bit | YES |
Windows 7 | 64-bit | 64-bit | YES |
Windows 8 | 64-bit | 32-bit | YES |
Windows 8 | 64-bit | 64-bit | NO! (returns NULL) |
CreateWindowExA
最後の構成と何か違う点はありますか。ウィンドウ プロシージャはすべての場合で同じであり、受信するメッセージは次の順序であることに注意してください。
WM_GETMINMAXINFO
(転送先DefWindowProc
)WM_NCCREATE
(転送先DefWindowProc
)
最後の構成では、継続してNULLWM_NCDESTROY
を返します。CreateWindowExA
他のすべての構成では、WM_NCCALCSIZE
が送信され、最後にWM_CREATE
.