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.
我有适合您的解决方案,但不确定是否适合您
我会做出一些假设来推动我的解决方案
- 是使用visual studio
构建的winforms项目
- 您尚未修改原始
Program.cs
文件
- 你所有的程序集属性都在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 Library
无 Program.cs
,我们称它为 App.dll。然后将 Program.cs
和 AssemblyInfo.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
很久以前但是...
您可以在“注册表编辑器”中修改。
- 打开“注册表编辑器”(在 windows 10 中,单击开始 > 输入 reg,您将在搜索结果中找到它)。
- 单击“编辑”菜单 >“查找”。将打开一个对话框。
- 键入程序的可执行文件的名称(例如“MyAppName.exe”)>“查找下一个”。
- 现在您应该看到 属性 名称以“FriendlyAppName”结尾,值是当前字幕名称。右键单击它,然后单击“修改”。
- 在“值”文本框中键入所需的字幕名称。 > 好的。
- 如果您的 PC 中有此应用程序的多个副本,请使用“编辑 > 查找下一个”菜单项遍历所有副本并进行全部修改。
注意不要修改注册表编辑器中的任何其他值,这可能会损害您的 PC 健康。
如何在运行时更改 right-click 上下文菜单中程序任务栏按钮的标题?我的意思是这里用红色圈出的文字。
标题似乎是 taken from the assembly title。我需要根据代码在运行时 动态更改标题。我有一个 EXE,用户 "see" 作为许多不同的应用程序 - 它在运行时读取数据文件,然后大量自定义其外观,包括 window 标题。我还需要在此 right-click 菜单中自定义标题。没有一个标题可以涵盖所有内容。如有必要,我愿意考虑 P/Invoke 调用 Windows API。
这是WinForms .Net 4.5.2程序,截图为Windows7.
我有适合您的解决方案,但不确定是否适合您
我会做出一些假设来推动我的解决方案
- 是使用visual studio 构建的winforms项目
- 您尚未修改原始
Program.cs
文件 - 你所有的程序集属性都在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 Library
无 Program.cs
,我们称它为 App.dll。然后将 Program.cs
和 AssemblyInfo.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
很久以前但是...
您可以在“注册表编辑器”中修改。
- 打开“注册表编辑器”(在 windows 10 中,单击开始 > 输入 reg,您将在搜索结果中找到它)。
- 单击“编辑”菜单 >“查找”。将打开一个对话框。
- 键入程序的可执行文件的名称(例如“MyAppName.exe”)>“查找下一个”。
- 现在您应该看到 属性 名称以“FriendlyAppName”结尾,值是当前字幕名称。右键单击它,然后单击“修改”。
- 在“值”文本框中键入所需的字幕名称。 > 好的。
- 如果您的 PC 中有此应用程序的多个副本,请使用“编辑 > 查找下一个”菜单项遍历所有副本并进行全部修改。
注意不要修改注册表编辑器中的任何其他值,这可能会损害您的 PC 健康。