我有一个工作的应用程序,需要不时清除和设置非常大的缓冲区。有时,操作完成的时间超过5秒,然后桌面窗口管理器超时并声明应用程序挂起。
是否有任何技术可以让DWM在发生这种情况之前留出更多时间?
Delphi Seattle,Windows 10,64位应用程序
答案 0 :(得分:3)
正确的解决方案是将长时间运行的任务放在一个线程中,这样它就不会阻塞你的UI线程。你应该这样做。
如果你不能让自己承担这个任务,并且它可能非常棘手,你可以通过调用DisableProcessWindowsGhosting
来禁用重影。但你真的不应该这样做。你真的应该把工作放在一个线程中。