Delphi应用程序挂起

时间:2017-03-23 17:53:06

标签: windows delphi dwm

我有一个工作的应用程序,需要不时清除和设置非常大的缓冲区。有时,操作完成的时间超过5秒,然后桌面窗口管理器超时并声明应用程序挂起。

是否有任何技术可以让DWM在发生这种情况之前留出更多时间?

Delphi Seattle,Windows 10,64位应用程序

1 个答案:

答案 0 :(得分:3)

正确的解决方案是将长时间运行的任务放在一个线程中,这样它就不会阻塞你的UI线程。你应该这样做。

如果你不能让自己承担这个任务,并且它可能非常棘手,你可以通过调用DisableProcessWindowsGhosting来禁用重影。但你真的不应该这样做。你真的应该把工作放在一个线程中。