Windows任务栏右键菜单中的标题

时间:2016-01-20 17:21:42

标签: c# .net winforms taskbar

如何在运行时更改我的程序的任务栏按钮的右键单击上下文菜单中的标题?我的意思是这里的文字用红色圈出来。

enter image description here

标题似乎是taken from the assembly title。我需要从代码中动态地在运行时更改标题。我有一个EXE,用户“看到”了许多不同的应用程序 - 它在运行时读取数据文件,然后大量定制其外观,包括窗口标题。我还需要在此右键单击菜单中自定义标题。没有任何一个标题可以涵盖所有内容。如有必要,我愿意考虑对Windows API进行P / Invoke调用。

这是一个WinForms .Net 4.5.2程序,截图是Windows 7.

2 个答案:

答案 0 :(得分:2)

我有一个解决方案,但不确定它会对你有用

我会做一些假设来推动我的解决方案

  1. 这是一个使用visual studio构建的winforms项目
  2. 您尚未修改原始Program.cs文件
  3. 所有程序集属性都在AssembyInfo.cs
  4. 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.csAssemblyInfo.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)

很久以前但是...

您可以在“注册表编辑器”中进行修改。

  1. 打开“注册表编辑器”(在 Windows 10 中,单击开始 > 键入 reg,您将在搜索结果中看到它)。
  2. 点击“编辑”菜单 >“查找”。将打开一个对话框。
  3. 输入程序可执行文件的名称(例如“MyAppName.exe”)>“查找下一个”。
  4. 现在您应该看到名称以“FriendlyAppName”结尾的属性,其值为当前标题名称。右键单击它,然后单击“修改”。
  5. 在“值”文本框中键入所需的标题名称。 > 好的。
  6. 如果您的 PC 中有此应用的多个副本,请使用“编辑 > 查找下一个”菜单项检查所有副本并全部修改。

注意不要修改注册表编辑器中的任何其他值,这可能会损害您的 PC 健康。