C# 提取应用程序图标,根据exe路径提取图标

C# 提取exe图标,并保存 [DllImport("Shell32.dll")] static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbFileInfo, uint uFlags); struct SHFILEINFO { public IntPtr hIcon; public int iIcon; public uint dwAttributes; 阅读详情

根据业务需要,实现一个按钮,点击后弹出文本选择框,选择一个快捷方式后,将该快捷方式的图标保存到指定位置

private void AddBut_Click(object sender, RoutedEventArgs e)
 {
     Microsoft.Win32.OpenFileDialog dialog = new Microsoft.Win32.OpenFileDialog();
     if (dialog.ShowDialog().GetValueOrDefault())
     {
         Console.WriteLine("-----------" + dialog.FileName);
         Console.WriteLine("-----------" + dialog.SafeFileName);

         Console.WriteLine("------开始抽取图标-----");

         // 将选择的文件名,输入给ExtractAssociatedIcon方法
         Image img = System.Drawing.Icon.ExtractAssociatedIcon(dialog.FileName).ToBitmap();
         img.Save(@"D:\toolbar\icon\" + dialog.SafeFileName + ".PNG");
     }
 }

这句代码,找的过程比较艰辛,网上资料很多,试了几种,效果都没这个好,代码还简单!
参考链接:https://www.cnblogs.com/chr-wonder/p/5331043.html

C# 通过窗口句柄获取程序运行路径 通过程序运行路径获取程序图标       我决定给Optidiy添加一个任务管理器, 我还需要给每个运行任务加上其执行程序的图标。我曾经写过遍历系统运行程序句柄的代码, 那么我的思路是: 在已知运行程序窗口句柄的情况下, 设法获取该程序的执行路径, 接下来则可以通过该路径获取运行程序的图标。      思路有了,那么接下来就是分析该思路能否实现,如果能实现则需要设计实现代码,经过验证我的思路没有任何问题,实现代码如下:using System;using System.Linq;using System.Collections.Gene 阅读详情

相关推荐

C# VS2019 Form 图标的修改

C# Form 图标的修改 引言 图标是用户使用软件的第一印象,第一印象很重要。好的软件UI设计也包括ICO图标的设计。 在C#的Form窗口框架程序设计时,图标的是有两处需要修改,一个是Form窗口的左上角图标,一个是EXE可执行文件的图标。 这里用VS2019中的图标修改为例说明一下图标的修改。 一、 窗口的左上角图标 1、在串口Form的属性中找到Icon项直接选择图标(.ico)路径,窗口左上角会自动更新选择更新的图标。 预览效果如下: 一、可执行文件的图标 1、找到工程属性位置,可以在解

C/C#、Android driver、STM32、Linux等等。 6265

C#实战小技巧(十二):获取本地应用程序图标

使用.NET 4.0编程时,可以使用System.Drawing.Icon类的静态方法ExtractAssociatedIcon获取本地应用程序的图标。下方是示例代码,address变量时本地应用程序地址,获取图标后转为base64,保存在info对象的functionIcon属性中。 需要注意,要将获取的图标转为Bitmap的PNG格式(保存为PNG格式可保持原图透明度),不能直接保存为Icon...

The Blog of Coder 2272

C#提取Windows系统图标的四种方法:从SHGetFileInfo到系统映像列表

在桌面应用开发中,图标是用户界面的重要组成部分,直接关系到用户体验的直观性和专业性。其核心原理在于操作系统通过文件关联机制,将特定图标与文件类型绑定,从而实现视觉上的统一识别。这项技术的价值在于,开发者无需自行设计海量图标,即可让应用界面与操作系统风格无缝融合,提升软件的质感和易用性。典型的应用场景包括文件管理器、资源浏览器、安装程序以及任何需要展示本地文件列表的桌面软件。本文聚焦于C#开发,深入探讨了通过P/Invoke调用**SHGetFileInfo**这一核心Win32 API来提取系统图标的方法,

weixin_34067102的博客 402

c# 判断某个exe应用程序运行

public static bool IsRuning(string exeName) { var res = false; if (Process.GetProcessesByName(exeName).ToList().Count > 0) { res = true; } return res; }

nbspzs的专栏 3134

C# VS2019 中自定义Form图标与EXE图标的完整指南

本文详细指导在C# VS2019开发环境中,如何为WinForms应用程序设置Form窗口图标和EXE文件图标。文章从图标的重要性讲起,分步详解了可视化设置与代码动态设置方法,并提供了图标设计、制作、常见问题排查及高级应用技巧,帮助开发者打造专业、可信赖的软件产品。

weixin_29284885的博客 111

C#上位机开发(七)—— 修改窗口图标和exe文件图标

前言 早在18年,博主第一次开始写博客,内容为 C# 上位机开发,写完后收获了不错的阅读量和好评: C#上位机开发(一)—— 了解上位机 C#上位机开发(二)—— Hello,World C#上位机开发(三)—— 构建SerialAssistant雏形 C#上位机开发(四)—— SerialAssistant功能完善 C#上位机开发(五)——SerialAssistant界面升级(WinForm界面布局进阶) C#上位机开发(六)——SerialAssistant功能优化(串口自动扫描功能、接收数据保存功

Mculover666的博客(嵌入式) 4608

C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。 string str = System.Diagno...

Advance Steel二次开发 779

3步解锁系统图标:C#如何像孙悟空拔毛一样提取宝藏

摘要: 本文介绍如何使用C#提取系统图标,涵盖文件路径、扩展名及系统资源三种场景。通过调用Windows API(如ExtractIconEx、SHGetFileInfo),开发者可轻松获取Excel、PDF等文件的关联图标,或特殊系统图标(如回收站)。代码示例详细演示了如何实现图标提取与资源释放,避免内存泄漏。适用于需要动态加载系统图标的应用程序开发,提升用户体验。 (字数:150)

java专栏 702

C#如何将资源文件读取到指定路径

需要注意的是文件需要在属性中生成操作设置为嵌入的资源 引用代码 FileHelper.CopyFileFromResourceToURL("项目具体路径.文件名称加后缀", 相对路径或者绝对路径都可以); 帮助类代码 public class FileHelper { public static void CopyFileFromResourceToURL(string resourcePath,string targetPath) { A

qq_34739157的博客 1136

C#WPF更改窗体图标和生成exe文件的图标实例

本文讲解如何在C#WPF更改窗体图标和生成exe文件的图标。

qq_30725967的博客 2611

掌握C#获取系统默认图标的方法

P/Invoke(Platform Invocation Services)是C#中的一种机制,允许程序员从托管代码调用非托管函数,即那些用C或C++等语言编写的本地代码函数。这一特性对于需要调用操作系统底层API、旧有库或硬件设备接口的场景尤为重要。P/Invoke的优势在于,它能够为开发者提供访问底层系统服务的能力,尤其是在.NET框架本身不提供直接支持的场景下。通过P/Invoke,开发者可以不必重新发明轮子,直接利用现有的、经过验证的本地代码库。

weixin_34547628的博客 1220

C# .exe和.dll文件图标资源提取工具

Windows 可执行文件(.exe)和动sql教程态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源java基础教程预览 图标资源导python基础教程出(仅支持导出 PNG 格式) 代码 获取图标资源c#教程使用了 Win32 APIPrivateExtractIconsW PrivateExtractIconsW 对应vb.net教程的 C# 代码 [DllImport("User32.dll")] internal static extern uint Priv.

chinaherolts2008的博客 1311

c#获取文件大图标

c# wpf 获取文件大图标

Winform2、(C#) 设置编译后.exe执行文件的图标

Winform2、(C#) 设置编译后.exe执行文件的图标 1、打开项目的属性,把图标放在项目目录下 2、设置属性应用程序 下的图标选项,选择自己的图标,可以用绝对路径。 选项右边有显示当前选择的图标。 3、之后运行程序,得到的exe执行文件就会有图标 ...

集电极 5840

C#获取系统ICON图标示范

本源码展示了4种不同方法获取Windows系统的各种ICON图标,包括文件夹、不同类型文件、程序文件的ICON、带特定图标的文件夹(如:收藏夹)等等的图标都能提取。[源码附带详细注释]

linux离线安装nginx

linux离线安装nginx

zhang_130914036的博客 9347

C#上位机开发—— 修改窗口图标和exe文件图标

三、修改exe程序图标。一、准备应用程序图标。

weixin_41883890的博客 5694

ksz9031 mmd读取不了_ZYNQ. LwIP.PHY.KSZ9031RNX

新一块板子米尔科技的z-turn 使用的PHY芯片是Micrel的 KSZ9031RNX 而不是zedboard上的Marvell的。直接使用lwip的echo server demo时会报错 , 无法启动。在网上找了很久终于找到几篇关于这个问题的文章。修改PHY的驱动xemacpsif_physpeed.c文件该芯片的PHY Identifier 是 0x0022bsp设置中修改参数以提速MEM...

weixin_39626298的博客 924

替换应用程序exe图标

2010-11-10 21:26:14//替换应用程序exe图标,主要使用的API函数是BeginUpdateResource(),UpdateResource(),EndUpdateResource()来使//用自定义的ico文件类替换exe程序原来的图标。// 第一个参数是将要替换图标的exe文件路径,第二个参数是替换的ico文件路径void ReplaceExeIco(LPCTSTR lpszApp, LPCTSTR lpszIco){ try {  CFile file;  file.Open(lp

mfc_winform_2011的专栏 804

STM32 I²C外设深度解析:时序配置、主从模式与可靠性工程

I²C是一种广泛应用于嵌入式系统的同步串行总线协议,其核心在于精确的时序控制与可靠的电气特性匹配。理解SCL/SDA信号建立/保持时间、上升下降沿约束及硬件滤波机制,是保障通信稳定的基础;STM32通过I2C_TIMINGR寄存器实现对PRESC、SCLH、SCLL、SDADEL和SCLDEL等关键参数的精细调控,直接影响tSU:DAT、tVD:DAT等标准时序合规性;该能力支撑工业级高可靠场景下的主从双向通信、时钟拉伸管理与错误恢复;本文聚焦STM32平台,结合寄存器级配置、状态机行为与实战调试经验,系统

weixin_42146230的博客 87

基于TF-IDF+KMeans聚类算法构建中文文本分类模型(附案例实战)

TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。简单来说就是:一个词语在一篇文章中出现次数越多, 同时在所有文档中出现次数越少, 越能够代表该文章。这也就是TF-IDF的含义。

m0_64336780的博客 1万+

C# 抽取exe和dll程序图标

从文件中抽取图标,我们可以选择使用ExtractIcon()或ExtractIconEx(),以及ExtractAssociatedIcon(),LoadImage()和SHGetFileInfo()。 下面我们比较和对照一下这些函数的能力: 函数 描述 ExtractIcon() 从一个文件中抽取指定索引位置的图标,索引从0开始。这个函

雾里看花 2万+

dht11在oled上显示温度 stm32l432kc,如何实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1202
上一篇: javaFX TableView实现拖拽排序
下一篇: springboot security oauth2解决,前端VUE项目打包部署时,跨域访问问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值