博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在Windows Mobile下使用.NET Compact Framework从执行文件取出Icon
阅读量:5311 次
发布时间:2019-06-14

本文共 1573 字,大约阅读时间需要 5 分钟。

需求

需要把其他执行文件的ICON读取出来,然后在程序中显示。

 

实现

class ExtractIcon {
public static Bitmap GetBitmapFromExeIcon(string path) {
return GetBitmap(GetIconFromExe(path)); } public static Icon GetIconFromExe(string path) {
return GetIconFromExe(path, true); } //http://www.pinvoke.net/default.aspx/shell32/ExtractIconEx.html public static Icon GetIconFromExe(string path, bool large) {
IntPtr hLargeIcon = IntPtr.Zero; IntPtr hSmallIcon = IntPtr.Zero; ExtractIconEx(path, 0, ref hLargeIcon, ref hSmallIcon, 1); if (large) {
return (Icon)Icon.FromHandle(hLargeIcon).Clone(); } else {
return (Icon)Icon.FromHandle(hSmallIcon).Clone(); } } //http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/e765775c-a5b5-493f-baeb-3eaee1d41cef public static Bitmap GetBitmap(Icon icon) {
Bitmap bmp = new Bitmap(icon.Width, icon.Height); //Create temporary graphics Graphics gxMem = Graphics.FromImage(bmp); //Draw the icon gxMem.DrawIcon(icon, 0, 0); //Clean up gxMem.Dispose(); return bmp; } //http://msdn.microsoft.com/en-us/library/aa922154.aspx [DllImport("coredll.dll", SetLastError = true)] private static extern IntPtr ExtractIconEx(string fileName, int index, ref IntPtr hIconLarge, ref IntPtr hIconSmall, uint nIcons); }

MS提供了函数可以取出执行文件的大小Ico图标信息。第三个参数为大图标,第四个参数为小图标。

由于Icon对象不能直接在Graphics上画,所以需要转换成Bitmap,但是Compact Framework又不支持Icon.Save(),所以实现了一个Bitmap GetBitmap(Icon icon) 函数。

效果图如下,取出word的图标。

第二个图去掉ico背景

转载于:https://www.cnblogs.com/procoder/archive/2009/08/11/Windows_Mobile_Compact_Framework_Icon.html

你可能感兴趣的文章
一句简单的SQL----模糊 查询
查看>>
编程十年 (13):毁人不倦1
查看>>
排序算法小结
查看>>
win32-api: 让 static 控件中的水平横行,垂直居中。
查看>>
Android Core
查看>>
CentOS LiveCD、LiveDVD、BinDVD、netinstall、minimal版区别在哪里
查看>>
远程MSMQ
查看>>
.Net Web项目安装包制作(三)补充说明
查看>>
spring笔记
查看>>
聊聊Java String.intern 背后你不知道的知识
查看>>
第三章 内核对象
查看>>
Binding基础 文摘
查看>>
POJ3006
查看>>
js获取Html元素的实际宽度高度
查看>>
Add 'GB18030' to gedit in Linux
查看>>
Android开发权威指南pdf
查看>>
我的第一本编程书pdf
查看>>
Visual Basic 2008从入门到精通pdf
查看>>
java 8编程入门官方教程pdf
查看>>
JavaScript高级程序设计(第3版)pdf
查看>>