我不确定我想做的是否合适,所以我会解释一下。
我们有一个需要一段时间才能加载的大型应用程序。所以我们有一个闪屏。 启动画面会导致远程桌面(终端服务器)上的加载时间过长。 因此,为了缓解这种情况,我们希望在加载RDP时隐藏启动画面。 但我们仍然需要至少向用户显示应用程序正在加载。
所以,我想也许只是在任务栏(而不是系统托盘)中显示一些东西,因为它会在应用程序完全加载后消失(并被主窗体的Task图标替换)。 但是,我看过的任何WPF解决方案都需要一个可见的表单/窗口来处理任务栏状态。
在没有显示WPF窗口的情况下,有没有办法在任务栏中显示某些内容?
或者是否有另一种显示应用程序加载状态的方法,而不显示屏幕上的内容?
答案 0 :(得分:1)
我们遇到了同样的问题。
在远程桌面上,我们执行了以下步骤...
我们将Splash窗口配置为不允许调整大小,并且只有最小化和关闭按钮。
我们删除了WindowStyle = None设置,以便Splash窗口的标题栏出现
我们将Splash窗口的宽度和高度设为零。这样你在屏幕上看到的就是标题栏的一个小蓝色矩形,文字为“Loading ... Please Wait ...”,最小化和关闭按钮。
我们使用Window的内核调用来禁用标题栏的“关闭”按钮。这样用户无法取消Splash窗口。
因此,用户所能做的就是最小化或从任务栏恢复。
恢复后,他看到的只是标题栏的蓝色矩形,上面有“正在载入...”文字。这样窗口也声明了它在任务栏上的位置,但隐藏了它的初始动画,用户也知道正在加载启动画面。为此,您还可以通过附加更多fullstops来更新标题栏的文本...
装载。请等一下..
装载。请等一下......
装载。请等一下......
装载。请等一下..
答案 1 :(得分:0)
我认为您需要查看问题的根本原因。可能会考虑线程和并行性。
然而,您要问的一个简单的解决方案就是创建一个隐藏的窗口。一个是透明的,没有边界或任何东西。它甚至可以设置为0,0的大小。这样您就可以获得所需的任务栏项。