我想创建一个能够同时显示大约1000-8000个MessageBoxes的程序。因为它们阻塞了主线程,所以我为每个MessageBox创建一个单独的线程。我也把它们重新定位在一个钩子里。问题是,内存使用量非常大。如果我将MessageBoxes的限制设置为1000,它已经使用大约290 MB。如果我不使用钩子,它使用大约108 MB。也许高内存使用也是我的错,因为我没有使用任何库,所以没有自动内存管理。有没有更有效的方法来做到这一点?
答案 0 :(得分:0)
要回答OP的问题,“执行此操作”的更有效方法是放弃使用MessageBox API,并编写自己的自定义代码,比如使用DirectX,在屏幕上绘制消息框,然后处理鼠标点击自己。
想想看起来像具有不寻常行为的消息框一样无用,比如爆炸,融化或失败或远离鼠标指针。