从只有HWND的窗口接收消息?

jma*_*erx 1 c winapi

我正在使用API​​进行游戏.它为我创建了一个窗口,但有一些消息我想做些什么.例如,当屏幕调整大小时,我想显示黑屏.本质上,我有我的主窗口的HWND,并希望收听消息并让它们在处理之前或之后通过我的自定义WndProc,我只想知道窗口何时接收WM_SIZE之类的消息.

这有API吗?

谢谢

min*_*ang 6

如果您在要拦截WM_SIZE窗口相同的过程,你可以简单地取代的WndProc SetWindowLongPtrGWLP_WNDPROC.请注意,您必须将其他消息传递给原始WndProc.

但是,如果你处于不同的过程中,那么你需要找到一种方法,比如使用钩子 SetWindowsHookEx

  • +1;子类化可能是这里的方法。仅供参考 - 对于 WNDPROC 和其他指针大小值,不推荐使用 SetWindowLong;使用 SetWindowLongPtr 与 Win32 和 Win64 兼容 - 已编辑答案以反映这一点。 (2认同)