C# 解锁机器时未恢复WPF窗口

C# 解锁机器时未恢复WPF窗口,c#,.net,wpf,windows,C#,.net,Wpf,Windows,我面临着一种特殊的行为。我们知道窗口的状态切换,如果您单击该窗口的任务栏项,它将恢复到桌面,如果您再次单击它,它将隐藏(最小化) 我有一个WPF窗口,可以呈现一些相当复杂的GUI。当我激活我的窗口时,GUI被呈现,然后如果我最大化或最小化,它工作正常。现在,如果我在任务栏上单击最小化窗口,它会将窗口恢复到桌面,但如果我在任务栏上再次单击它,它将不会最小化。然而,任务栏似乎被切换(如图所示,它指示相应的窗口应该最小化……而窗口仍然在顶部) 但和你们一样,我认为这没什么大问题。我可以忽略这一点 当我

我面临着一种特殊的行为。我们知道窗口的状态切换,如果您单击该窗口的任务栏项,它将恢复到桌面,如果您再次单击它,它将隐藏(最小化)

我有一个WPF窗口,可以呈现一些相当复杂的GUI。当我激活我的窗口时,GUI被呈现,然后如果我最大化或最小化,它工作正常。现在,如果我在任务栏上单击最小化窗口,它会将窗口恢复到桌面,但如果我在任务栏上再次单击它,它将不会最小化。然而,任务栏似乎被切换(如图所示,它指示相应的窗口应该最小化……而窗口仍然在顶部)

但和你们一样,我认为这没什么大问题。我可以忽略这一点

当我锁定机器一段时间(通常是通过远程会话)时,问题就会出现。解锁我的XP机器后,该窗口将根本无法恢复。。。无论我右键单击多少次,恢复、最大化任务栏项目等

请注意,这是间歇性的,并非总是发生

我观察任务管理器中的窗口,我看到它没有挂起,也没有说“没有响应”。内存消耗也在控制之中。因此,实际上GUI并没有挂起

需要注意的一点是,我的应用程序最近是用x86cpu目标重建的,以便在Windows7和XP上都呈现。但这种行为是在XP上观察到的,而不是在Windows7上

如果我运行我的应用程序的旧版本(任何CPU目标,特定于XP),那么窗口在所有情况下都表现良好

此外,我还有我的应用程序的源代码,如果我将调试器附加到“不工作”窗口,然后分离调试器,则会显示该窗口!若我附加一个内存分析器并分离,窗口被重新激活并显示,同样的事情也会发生

这是一种奇怪的行为,我想根本原因在于当我单击任务栏上的窗口切换状态时,窗口的原始行为没有隐藏


有人对我的WPF应用程序在XP上的x86 target上的这种特别奇怪的行为有什么见解吗?

如果旧版本运行良好,那么在不同版本之间您做了哪些更改?几个问题。您使用的是什么.net版本?Visual studio版本?您是否使用任何第三方程序集?现在你排除了什么可能的问题?@Gudor,没什么!只有从“任意CPU”到“x86”的目标CPU。嗨@Zach,我使用的是.NET3.5,VS2010,目标CPU到x86。我正在使用基础设施API,但它们没有改变。所有已更改的是目标CPU从“任意CPU”更改为“x86”