应用程序很少将桌面最小化

时间:2014-01-21 10:16:56

标签: vb.net windows minimize

我有一个很少在桌面左下角最小化的vb.net程序。通常,如果我最小化它最小化到任务栏。但有时它只会最小化,如下所示(您可以看到Shortcut_nvt程序在桌面左下方最小化)。任何人都知道这个行为吗?为什么会这样?

enter image description here

1 个答案:

答案 0 :(得分:1)

[这不是一个真正的答案,但对评论来说太长了。]

这是正常的Windows行为预任务栏。随着功能被添加到Windows替换旧的程序管理器,它们保留了向后兼容性,因此旧的Windows消息仍然有效。但是,任务栏会拦截消息并添加一些消息以提供新行为。你所谓的'最小化到任务栏'实际上隐藏了应用程序窗口,并用任务栏维护的按钮替换它。旧的Windows最小化行为通常会被抑制,并且不知怎的,你已经把它唤醒了。

我的猜测是你在程序中做了一些事情来中断Windows消息的流动,以便与任务栏的连接出现故障。你应该寻找像预览处理程序或钩子或消息泵代码这样的东西作为罪魁祸首。您可以使用Spy ++(Visual Studio)和观看消息来诊断此行为,但这并不容易。

抱歉不要提供更多帮助,但Windows的这一部分非常复杂且难以调试。如果你得到更多有用的信息,我会很高兴听到。