Windows 任务栏 right-click 菜单中的标题

Caption in Windows taskbar right-click menu

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

标题似乎是 taken from the assembly title。我需要根据代码在运行时 动态更改标题。我有一个 EXE,用户 "see" 作为许多不同的应用程序 - 它在运行时读取数据文件,然后大量自定义其外观,包括 window 标题。我还需要在此 right-click 菜单中自定义标题。没有一个标题可以涵盖所有内容。如有必要,我愿意考虑 P/Invoke 调用 Windows API。

这是WinForms .Net 4.5.2程序,截图为Windows7.

我有适合您的解决方案,但不确定是否适合您

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

  1. 是使用visual studio
  2. 构建的winforms项目
  3. 您尚未修改原始 Program.cs 文件
  4. 你所有的程序集属性都在AssembyInfo.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 LibraryProgram.cs,我们称它为 App.dll。然后将 Program.csAssemblyInfo.cs 中的代码(仅相关部分)合并到一个文件中,我们称之为 App.cs。您应该 auto-generate App.cs 使用单独的脚本或通过 App.cs 本身 现在构建 App.cs 引用 App.dll 生成 App.exe。此 App.exe 应该与您当前的可执行文件完全一样。

一旦所有这些都建立起来,您就可以看到我们的目标了。

现在,当您的 App.exe 启动并读取配置以进行更改时,您应该 auto-generate App.cs 使用不同的 AssemblyTitle,如下所示

[assembly: AssemblyTitle("MyAssembly")]

并生成 App-Flavor1.exe,生成该进程并退出 App.exe

很久以前但是...

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

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

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