我有一些示例代码,它只是在 Windows 10 中的屏幕上放置一个窗口。该程序在 32 位下运行良好:窗口回调过程在窗口创建时发送消息。
在 32 位下,前三个消息是:
WM_GETMINMAXINFO
WM_NCCREATE
WM_NCCALCSIZE
Run Code Online (Sandbox Code Playgroud)
然后从那里开始直到构建窗口。
但是,在 64 位下,这不会发生;相反,这些是发送的消息:
WM_GETMINMAXINFO
WM_NCCREATE
WM_NCDESTROY
Run Code Online (Sandbox Code Playgroud)
如您所见,在创建窗口后,操作系统立即发送一条消息来销毁它!
这是实际的代码:
/*****************************************************************************/
/* This sample demonstrates how to continuously acquire pictures */
#include <windows.h>
#include <stdio.h>
#define _NIWIN
#define PB_QUIT 101 /* id for quit application push button */
// Window proc
LRESULT CALLBACK ImaqSmplProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
// windows GUI globals
static HINSTANCE hInst;
static HWND ImaqSmplHwnd;
static HWND HStop, HGrab, HQuit, HIntfName, HFrameRate;
static …Run Code Online (Sandbox Code Playgroud)