小编rob*_*rtv的帖子

为什么 64 位 Visual Studio C 中的 CreateWindow 在创建时会自行销毁?

我有一些示例代码,它只是在 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)

c winapi visual-studio

2
推荐指数
1
解决办法
99
查看次数

标签 统计

c ×1

visual-studio ×1

winapi ×1