繁体   English   中英

在Citrix中运行时,如何防止WPF + win32应用程序任务栏图标更改为Citrix默认图标?

[英]How to prevent WPF+win32 app taskbar icon from changing to Citrix default icon when run in Citrix?

我有一个带有许多本机代码和Win32 Windows的WPF应用程序。 程序的应用程序图标在VS2015项目中定义为.. \\ gui \\ rc \\ MyApp.ico。 在XenApp Citrix中启动程序时:

  1. 出现飞溅
  2. WPF登录窗口出现在任务栏中,带有正确的应用程序图标
  3. 登录后,再次出现闪屏,任务栏图标消失
  4. 接下来,出现带有任务栏图标的win32窗口。
  5. 加载大量数据时,任务栏图标为Citrix-icon,但准备就绪后,正确的应用程序图标会切换回
  6. 关闭win32对话框后,主窗口出现,任务栏中显示Citrix-icon。

可以跳过mainwindow之前的win32对话框(步骤4-5),并在启动后通过Citrix任务栏图标打开主窗口。 上面的步骤仅是因为在对话框加载时,任务栏图标是Citrix。

MyApp.ico是160x160像素,具有32位深度。

在初始化期间创建mainwindow时,其ShowInTaskbar设置为false。 准备就绪时将其设置为true。 这样做是因为我们想在mainwindow之前显示其他窗口,所以未完成的mainwindow在屏幕之外,并且我们不希望从任务栏访问它。

编辑:如果ShowInTaskbar未设置为false,则不会发生。

实际上,不是解决此问题的通用解决方案,但似乎我提出的简单方法可以用OP的代码解决此特定问题。

ShownInTaskbar将主窗体的Visibility属性初始设置为Visibility.Hidden值,而ShownInTaskbar设置ShownInTaskbar属性。

一旦窗口准备就绪,就可以将Visibility属性设置为Visibility.Visible值,从而显示窗口及其任务栏按钮(带有正确的图标)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM