如何在运行时更改我的程序的任务栏按钮的右键单击上下文菜单中的标题?我的意思是这里的文字用红色圈出来。
标题似乎是taken from the assembly title。我需要从代码中动态地在运行时更改标题。我有一个EXE,用户“看到”了许多不同的应用程序 - 它在运行时读取数据文件,然后大量定制其外观,包括窗口标题。我还需要在此右键单击菜单中自定义标题。没有任何一个标题可以涵盖所有内容。如有必要,我愿意考虑对Windows API进行P / Invoke调用。
这是一个WinForms .Net 4.5.2程序,截图是Windows 7.
答案 0 :(得分:2)
我有一个解决方案,但不确定它会对你有用
我会做一些假设来推动我的解决方案
Program.cs
文件Program.cs通常看起来像这样
using System;
using System.Windows.Forms;
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
处理它的一种方法是将您的应用构建为Class Library
,而不是Program.cs
,我们将其称为App.dll。然后将代码从Program.cs
和AssemblyInfo.cs
(仅相关部分)合并到一个文件中,然后将其称为App.cs
。您应该使用单独的脚本或App.cs
本身自动生成App.cs
现在构建App.cs引用App.dll生成App.exe。此App.exe应该与您当前的可执行文件完全相同。
一旦建立了这一切,你就可以看到我们的目标。
现在,当您的App.exe
启动并读取配置以进行更改时,您应该使用不同的AssemblyTitle
自动生成App.cs,如下所示
[assembly: AssemblyTitle("MyAssembly")]
并生成App-Flavor1.exe,并生成该进程并退出App.exe
答案 1 :(得分:0)
很久以前但是...
您可以在“注册表编辑器”中进行修改。
注意不要修改注册表编辑器中的任何其他值,这可能会损害您的 PC 健康。