在Vista及以后,如果一个程序变得无法响应,桌面窗口的管理是否能够处理重新划定在必要时(移动一个窗口,将其拖周围,等等。) 因为它具有保持一像素的缓冲区。窗户也尝试,以检测,当一个应用程序已经变得无法响应经过一些时间超时,并试图使最好的情况--我相信它变暗了的窗口,添加了"不答复",其标题吧,也许一些其他的影响。

现在,我们有一个剥皮的应用程序,使用窗口的区域和分层的窗口,并且它没发挥好与这些影响。我们已经在发展中XP,但必须注意到一个奇怪的效果测试。在一些观点应用程序可能会花费一些时间上的一些计算或回调,"如果信息没有被检索到5秒钟内,梦工场声明的窗口挂"(MSDN防挂在Windows的应用).看来当这个踢中,一个奇怪的图形问题发生:任何像素,这将是100%的透明由于窗口的区域变成黑色,它有效地使窗口的矩形,有一个黑色的背景。似乎有其他异常情况,与原来的窗口,就像素是转移一点在一些儿童之间的对话。

我的工作就减少这种拖延(十窗户永远不需要步骤,在这样),并试图保持反应能力,而它的繁忙,但我仍然喜欢找出是什么导致它呈现的那样,作为我不能保证我可以消除所有的延误。

基本上,我只是想知道什么窗户是这样做的时候发生这种情况,我怎么可以让我的应用程序正确的行为。皮肤的应用程序都仍在Vista和后来,所以我需要弄清楚我在做什么那是非的标准。我甚至不知道如何寻找信息如何窗户现在处理反应迟钝的应用程序,作为我的搜查只能返回的人有问题的应用程序,没有反应,或者很简单的解释什么样的梦工场并与此种应用程序。见鬼我甚至不是100%肯定这是梦工场负责,但似乎有可能的。任何潜在的线索?

照片的问题;屏幕上的镜头不会捕获的效果(注意,白对话的缓冲区是转移--这是转移到底通过的距离已经偏离主(蓝色)窗口):

Unresponsive app

有帮助吗?

解决方案 2

我们发现,它被称为'重影'时,它这样做的,它介绍了在XP(虽然似乎梦工场需要更进了一步,因为它可以跟踪每个应用程序的像素)。它可能禁止它的持续时间应用的生活 DisableProcessWindowsGhosting().一些人说,这不是建议,但是考虑到多么严重,它起到与分层的窗户,缺点的关闭它可以忽略不计。我测试过它,它不恰恰是它的索赔;现在,如果服务器需要一点时间比预期的回返,它不会损坏整个界面。

如果有一个更好的方式得到我的分层windows Vista/7的处理重影不禁止它彻底的,我肯定仍然是感兴趣,但是我可能只是接受这样的回答。

其他提示

这是标准的行为;你还可以注意到它在办公室2007/2010年时,他们冻结。

我想基本上有两个东西,这将有助于这个:

第一,像你这样的已经这样做,尽量不要挂在第一位:做的少繁重的界线成为可能。

第二,不要使用多个顶级窗口来实现什么样的用户是指看到的只是一个;相反,这样做合成自己。这将防止层移动同步。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top