C# - Windows 7任务栏显示AssemblyTitle而不是Form.Text

时间:2010-09-16 15:59:34

标签: c# windows winforms windows-7

我有一个不包含标题栏的Windows窗体应用程序,在Windows 7上,任务栏显示AssemblyTitle的值,而不是表单的Text属性中的值。如何动态更改此值?

谢谢!

1 个答案:

答案 0 :(得分:5)

从您的评论中,我认为您指的是该计划的“跳转列表”,其中包括一个程序标题(如果您点击它,则会启动该程序的其他实例)。我的理解是,您所看到的是所有应用程序的默认行为,无论表单上标题栏的可见性如何。

我尝试在我编写的程序中更改此内容并得出结论(至少在托管代码中)它无法完成 - Win 7获取可执行文件中FileDescription的值(AssemblyTitle是此代理)在Win Forms应用程序中)并使用它。据我所知,对于正在运行的程序集,无法更改程序集属性,我不确定Windows是否会注意到更改并更新跳转列表,即使您可以执行此操作。

Win 7 API(Windows API Code Pack)有一个托管包装器,虽然有一个用于操作跳转列表的类,但我发现其中没有任何内容可以覆盖它们的这个特定方面的默认行为。

修改 更仔细地查看本机API(而不是托管的Code Pack包装器),我找不到任何函数,但我确实发现了这个MSDN blog entry。在第二个图表(将应用程序标题定义为“任务栏任务”部分的一部分)和Windows SDK引用之下,有一个开发人员可以执行的活动列表,它包括以下内容:

  

作为开发者,我们无法控制   任务栏任务。

所以看起来这是不可能的 - 跳转列表的这一部分完全由操作系统控制。