晨风资讯网
新闻资讯网络冲浪网页设计网络编程图形图像数据库网络媒体服务器网络安全网站运营软件教程黑客认证Wap技术
教程搜索
教程搜索:
  首页 > 程序开发 > VB/VB.NET > 正文  

VB.NET2005获取并保存图标文件
日期:2008-6-27 13:57:02 来源: 作者: 浏览:

VB.NET2005获取并保存图标文件
Private Sub Open()
Dim cdl As New OpenFileDialog
If cdl.ShowDialog = Windows.Forms.DialogResult.OK Then
ListView1.Items.Clear()
ImageList1.Images.Clear()
Dim iIcon_Num As Integer = Icon_Num(IntPtr.Zero, cdl.FileName, -1)
Me.ToolStripStatusLabel1.Text = cdl.FileName
Me.ToolStripStatusLabel2.Text = "共有 " & iIcon_Num.ToString() & " 个图标"
Dim i As Integer
For i = 0 To iIcon_Num - 1 Step 1
Dim j As UInt32
j = System.Convert.ToUInt32(i)
Dim hIcon As System.IntPtr = ExtractIcon(IntPtr.Zero, cdl.FileName, j)
ImageList1.Images.Add(Drawing.Icon.FromHandle(hIcon).ToBitmap)
ListView1.Items.Add("第" + (i + 1).ToString() + "个图标")
ListView1.Items(i).ImageIndex = i
Next i
End If
End Sub
Private Sub Save()
Dim cdl As New SaveFileDialog
If cdl.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim filename As String
filename = cdl.FileName
If filename.Substring(filename.LastIndexOf(".") + 1).ToLower <> "ico" Then
filename = filename & ".ico"
End If
Dim k As Integer = 0
Dim lVCItem As ListView.SelectedListViewItemCollection = New ListView.SelectedListViewItemCollection(ListView1)
k = lVCItem.Item(0).Index
Dim j As UInt32
j = System.Convert.ToUInt32(k)
Dim hIcon As System.IntPtr = ExtractIcon(IntPtr.Zero, Me.ToolStripStatusLabel1.Text, j)
Dim ico As System.Drawing.Icon = Drawing.Icon.FromHandle(hIcon)
Dim file As New System.IO.FileStream(filename, System.IO.FileMode.Create)
ico.Save(file)
file.Close()
Me.ToolStripStatusLabel1.Text = "文件保存 " & filename
End If
End Sub
'--------------------
Module ModuleMain
    <System.Runtime.InteropServices.DllImport("Shell32.dll")> Public Function ExtractIcon(ByVal src As System.IntPtr, ByVal strFileName As String, ByVal uiIconIndex As UInt32) As System.IntPtr
    End Function
    Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon" (ByVal src As System.IntPtr, ByVal strFileName As String, ByVal uiIconIndex As Integer) As Integer
End Module

上一篇: VB.NET2005从网页源码中分离文本 下一篇:

实现使用HTTP协议发送multipart/form-data类型的HTTP表单

返回列表 打印此页 加入收藏 资讯论坛 关闭窗口 点击复制本页地址,发送给QQ/MSN好友
关于我们 - 联系我们 - 版权声明 - 帮助(?) - 广告服务 - 友情链接 - 服务项目 - 人才招聘
2003-2008 版权所有 © 晨风资讯网 未经授权禁止复制或建立镜像
CopyRight 2003-2008 www.Net118.com,All Rights Reserved.Design By ChenFeng Network Studio