我正在开发一个 Windows 应用程序,我自己正在实现整个事件循环和类似的一切(这是有原因的)。在一个地方,我需要在显示一个窗口后执行一些代码。通常,当创建窗口时,我会在收到 WM_CREATE 消息时进行一些初始化。WM_SHOWWINDOW 在窗口显示之前发送。但是,我需要在第一次显示窗口后立即执行一些代码。在显示窗口后,我似乎找不到发送的通知消息。难道没有一个吗?
当然,我可以保留一个布尔值 - FirstRun - 表示我是否已经执行了我的逻辑,然后在收到 WM_ACTIVATE 时执行代码,前提是布尔值为 TRUE,然后将 FirstRun 设置为 FALSE,这样代码就不会执行下次我收到 WM_ACTIVATE,但这对我来说似乎有些不自然。
自从我在这个级别上进行 win32 编程以来已经有很多年了,所以我记不太清了。这里最好的方法是什么?