gpt4 book ai didi

c# - 如何使 MUICache 失效?

转载 作者:可可西里 更新时间:2023-11-01 10:44:27 28 4
gpt4 key购买 nike

我通过右键单击项目 -> 应用程序 -> 程序集信息 -> 标题修改了我的 C# 应用程序名称。

如果应用程序已经安装,则它不会更新名称,因为它正在从未刷新的 MUICache 中提取应用程序名称。

我正在尝试找到一种方法,使 MUICache 以编程方式失效,以便它适本地更新应用程序名称。

谢谢

最佳答案

您可以使用以下方法删除 MuiCache 键中包含应用程序可执行文件路径的值。

MuiCache 中删除该值后,通过 Windows Open with 浏览到您的应用程序对话框将使用更新后的标题将可执行文件的路径重新添加到 MuiCache

using Microsoft.Win32;
using System.Linq;
using System.Reflection;

const string MuiCacheKeyPath =
@"Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache";

static void DeleteExecutablePathFromMuiCache()
{
string exePath = Assembly.GetExecutingAssembly().Location; // (1)

using (RegistryKey muiCacheKey = Registry.CurrentUser
.OpenSubKey(MuiCacheKeyPath, writable: true))
{
if (muiCacheKey.GetValueNames().Contains(exePath))
{
muiCacheKey.DeleteValue(exePath);
}
}
}

或者,如果您想直接以编程方式更新标题,而不是 DeleteValue(exePath),请调用:

muiCacheKey.SetValue(exePath, yourNewTitle);

(1) 来自 this answer问题How can I get the application's path in a .NET console application? .

关于c# - 如何使 MUICache 失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569317/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com