若要自定义消息框,我应该挂钩消息框还是使用 CreateWindowEx 创建模仿

To customize a messagebox, should I hook the messagebox or use CreateWindowEx to create an imitation?

本文关键字:CreateWindowEx 创建 建模 消息 自定义消息 我应该      更新时间:2023-10-16

我一直在尝试创建一个具有可变、可读文本和可自定义按钮的MessageBox,我认为为它做一个钩子可能很容易,但我在 MSDN 上阅读:

"钩子往往会减慢系统的速度,因为它们增加了系统必须对每条消息执行的处理量。您应该只在必要时安装钩子,并尽快将其移除。

我想知道当我可以用CreateWindowEx来制作一个模仿MessageBox,做我想做的一切时,这是否真的值得。钩子到底有多慢系统的速度,值得还是我应该改用CreateWindowEx

根据您的目标系统,您是否考虑过使用 Windows Vista 开始提供的新消息框(任务对话框)之一?

这些允许您使用自定义按钮等自定义框的对话框布局,而无需任何钩子或自定义窗口(如"从头开始创建")。

否则,我可能会使用钩子(您只需要它们来捕获您的盒子,因此您可以在显示盒子之前设置它们,并在成功后删除它们)。