.NET桌面程序如何设置任务栏图标右键菜单中的名称

net,桌面,程序,如何,设置,任务栏,图标,右键,菜单,名称 · 浏览次数 : 238

小编点评

**.NET 程序修改应用程序图标缓存** 当您右键应用程序图标时,系统会读取注册表中的缓存记录。如果您的应用程序集名称更改后,您需要删除相关的注册表项以让系统重新加载图标。 具体步骤如下: 1. 在 .NET 程序中修改应用程序集名称(AssemblyTitle)。 2. 在注册表中删除与应用程序名称相同的注册表项。 3. 在注册表中添加一个新的缓存项,其中键名为 `MuiCache`,值为应用程序绝对路径。 4. 在程序启动时清理缓存项。 **示例代码:** ```csharp // 修改应用程序集名称 Assembly assembly = Assembly.GetExecutingAssembly(); assembly.Reflection.EmitProperty(new PropertyInfo("AssemblyTitle")); // 删除应用程序注册表项 RegistryKey appKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCacheC:\\Program Files (x86)\\DingDing\\main\\current\\DingTalk.exe.FriendlyAppName"); appKey.Delete(); ``` **注意:** * 确保您具有管理员权限才能修改注册表。 * 删除的注册表项应该与应用程序名称相同的注册表项。 * 在程序运行之前清理缓存项以确保图标更新。

正文

右键任务栏中应用程序图标时会显示程序名称,例如:

image

这里显示的并不是程序文件名DingTalk,而是文件属性中详细信息选显卡下的“文件说明”。

在.NET桌面程序中,是通过修改程序集名称(AssemblyTitle)来设置该值,c++程序则是添加版本信息设置FileDescription属性。但是,这个属性和应用程序图标一样,会被缓存到系统注册表中。当第一次右键查看任务栏中程序图标时,会在注册表添加缓存记录。系统优先读取注册表中缓存的信息。因此,在.NET程序中修改了程序集名称后需要删除对应的注册表项。具体信息是MuiCache中{程序绝对路径}.FriendlyAppName的注册表项

HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
C:\Program Files (x86)\DingDing\main\current\DingTalk.exe.FriendlyAppName

与.NET桌面程序如何设置任务栏图标右键菜单中的名称相似的内容:

.NET桌面程序如何设置任务栏图标右键菜单中的名称

右键任务栏中应用程序图标时会显示程序名称,例如: ![image][taskbar] 这里显示的并不是程序文件名DingTalk,而是文件属性中详细信息选显卡下的“文件说明”。 ![][description] 在.NET桌面程序中,是通过修改程序集名称(AssemblyTitle)来设置该值,c+

原来.NET写的Linux桌面这么好看?

如何使用Blazor在Linux平台下运行Desktop程序 本文将讲解如何使用Blazor运行跨平台应用,应用到的技术有以下几点 Blazor Masa Blazor Photino.Blazor Ubuntu 用于验证跨平台性,并且是否提高开发效率,Blazor和Photino一块使用的技术称为

在System身份运行的.NET程序中以指定的用户身份启动可交互式进程

今天在技术群里,石头哥向大家提了个问题:"如何在一个以System身份运行的.NET程序(Windows Services)中,以其它活动的用户身份启动可交互式进程(桌面应用程序、控制台程序、等带有UI和交互式体验的程序)"? 我以前有过类似的需求,是在GitLab流水线中运行带有UI的自动化测试程

记一次 .NET 某拍摄监控软件 卡死分析

一:背景 1. 讲故事 今天本来想写一篇 非托管泄露 的生产事故分析,但想着昨天就上了一篇非托管文章,连着写也没什么意思,换个口味吧,刚好前些天有位朋友也找到我,说他们的拍摄监控软件卡死了,让我帮忙分析下为什么会卡死,听到这种软件,让我不禁想起了前些天 在程序员桌子上安装监控 的新闻,参考如下: 我

基于.Net 的 AvaloniUI 多媒体播放器方案汇总

基于.Net 的 AvaloniUI 多媒体播放器方案汇总 摘要 随着国产化的推进,相信.Net的桌面端的小伙伴的可能已经有感受到了。 为了让.Net的桌面框架能够跨桌面平台,首选的就是Avalona-UI。 为了让AvaloniaUI能够跨多个平台播放视频,这里测试主要播放视频形式是使用RTSP。

推荐2款.NET开源、轻便、实用的Windows桌面启动器

Flow Launcher Flow Launcher是一款.NET开源(MIT License)、免费、功能强大、方便实用的 Windows 文件搜索和应用程序启动器,能够帮助你快速查找文件、启动应用程序和执行系统操作,提高工作效率和操作便利性。并且生态完善,有插件商店,你可以查看完整的插件列表,

一文带你了解.NET能做什么?

前言 在DotNetGuide技术社区微信交流群经常看到有小伙伴问:.NET除了能写桌面应用和Web应用还能做什么?今天大姚将通过本篇文章来简单讲讲.NET能做哪些开发,对.NET感兴趣的小伙伴也可以自行领取文末附带的.NET相关学习资料。 .NET简单介绍 .NET是一个开源(MIT Licens

一款.NET开源、免费、实用的多功能原神工具箱(改善桌面端玩家的游戏体验)

前言 今天大姚给大家分享一款.NET开源(MIT License)、免费、实用的多功能原神工具箱,旨在改善桌面端玩家的游戏体验:胡桃工具箱。 工具箱介绍 胡桃工具箱是一款.NET开源(MIT License)、免费、实用的多功能原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游

.NET周刊【6月第1期 2024-06-02】

国内文章 一文带你了解.NET能做什么? https://www.cnblogs.com/Can-daydayup/p/18214473 .NET是一个免费、开源、跨平台的开发平台框架,广泛应用于桌面、Web、移动、云服务、游戏、物联网、大数据和人工智能等领域开发。它支持C#、Visual Basi

再学Blazor——概述

简介 Blazor 是一种 .NET 前端 Web 框架,同时支持服务器端呈现和客户端交互性。 使用 C# 语言创建丰富的交互式 UI 共享前后端应用逻辑 可以生成混合桌面和移动应用 受益于 .NET 的性能、可靠性和安全性 需要有 HTML、CSS、JS 相关基础(开发 UI 框架的话) 组件化设