需要调用api完成
声明:
VB.NET版本
Private Declare Auto Function SHGetFileInfo _
Lib "shell32" (ByVal pszPath As String, ByVal dwFileAttributes As Integer, ByRef psfi As SHFILEINFO, _
ByVal cbFileInfo As Integer, ByVal uFlags As Integer) As Integer
C#中建立了一个类(原方法来自网友)
GetAppIconApi
1
using System;
2
using System.Reflection;
3
using System.Runtime.InteropServices;
4
namespace GetAppIcon
5
调用API函数,并生成ico文件2
3
4
5
1
private void button1_Click(object sender, System.EventArgs e)
2
}
加入生成的ICO文件不能直接作为窗体的ICO,会报错"参数Picture必须是可用作ICO的图片,我研究过,问题应该是 2
oBp=this.Icon.ToBitmap();
oBp.Save(strNewFile,System.Drawing.Imaging.ImageFormat.Icon);
在保存时应该根据ico文件的格式进行设置,后来一直没有成功
如果想将其他窗体的图标换成刚才生成的图标,可以如下方法
1
2
Image oImage;
3
System.Drawing.Bitmap bp;
4
bp=new Bitmap(@"c:\ff.ico");
5
try
6
}
这是窗体中的ico图标改变2
3
4
5
6