防止整个屏幕更新

Edw*_*Yip 4 windows delphi winapi

编辑1:实际上,我只是想避免因关闭Word文档并打开另一个文档而导致的闪烁.但现在看来这种方法并不可行.

问候,是否可以防止整个屏幕(不仅是桌面)更新?问题来自这一个问题.我想要做的是,在我的Word加载项中,当我关闭Word文档并打开另一个文档时,锁定整个屏幕更新,并在完成后重新启用更新.

一个想法是:

  1. 获取整个屏幕的图像(如何?);
  2. 显示最顶层的窗口以显示在步骤1中捕获的屏幕图像,以覆盖整个屏幕;
  3. 完成我的工作,完成后关闭最顶层的窗口.

可能吗?或者你有其他更好的想法吗?谢谢!

Jer*_*ers 7

别.

没有应用程序,插件或其他非常好的代码片段永远不会如此特别,以至于侵入 - 即使是很短的时间 - 用户拥有的东西:他的UI.

Old New Thing(Raymond Chen)有一些非常好的帖子,从LockWindowUpdate锁定小工具和其他用户恶意功能.

生活在多线程世界中,意味着您应该期望您的用户可以同时执行多项操作.

将任何东西锁定为"使其看起来更好"的目的 - 即使是在很短的时间内 - 也是完全禁止的.

您的请求只是迈向可怕的系统模式对话框的第一步"您确定要对计算机执行此操作吗?" 具有按钮YesNo,其中Yes是默认的按钮,在用户键入长故事当中,按下空格键.

--jeroen

  • +1"是的,让我们在这里禁用UI只是为了一个seco - Word遇到了问题,需要关闭.我们很抱歉给您带来不便." @Edwin:UI被禁用,应该重新启用它的进程不再存在.怎么办?(并且不要说"Windows用户习惯重启",这不再是1998年了) (3认同)