zoukankan      html  css  js  c++  java
  • C#获取应用程序图标获取后在保存成ICO文件

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    using System.IO;

    namespace WindowsApplication1
    {
        
    public partial class Form1 : Form
        {
            
    public Form1()
            {
                InitializeComponent();
            }
            [StructLayout(LayoutKind.Sequential)]
            
    public struct SHFILEINFO
            {
                
    public IntPtr hIcon;
                
    public IntPtr iIcon;
                
    public uint dwAttributes;
                [MarshalAs(UnmanagedType.ByValTStr, SizeConst 
    = 260)]
                
    public string szDisplayName;
                [MarshalAs(UnmanagedType.ByValTStr, SizeConst 
    = 80)]
                
    public string szTypeName;
            };
            
    class Win32
            {
                
    public const uint SHGFI_ICON = 0x100;
                
    public const uint SHGFI_LARGEICON = 0x0// 'Large icon
                public const uint SHGFI_SMALLICON = 0x1// 'Small icon
                [DllImport("shell32.dll")]
                
    public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags);
                [DllImport(
    "shell32.dll")]
                
    public static extern uint ExtractIconEx(string lpszFile, int nIconIndex, int[] phiconLarge, int[] phiconSmall, uint nIcons);
            }
            
    private void button1_Click(object sender, EventArgs e)
            {
                openFileDialog1.ShowDialog();
                SHFILEINFO shinfo 
    = new SHFILEINFO();
                Win32.SHGetFileInfo(openFileDialog1.FileName, 
    0ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON | Win32.SHGFI_LARGEICON);
                Icon myIcon 
    = Icon.FromHandle(shinfo.hIcon);
                FileStream fileStream 
    = new FileStream("E:\\1.ico",FileMode.Create);
                myIcon.Save(fileStream);
                fileStream.Close();
            } 
        }
    }
  • 相关阅读:
    android AndroidManifest.xml package名
    java 空字条串空判断 效率
    ant
    android post 提交数据
    BI 商务智能软件 数据分析
    swfupdate flash上传工具
    log4j 使用方法
    java vc vb 项目结构
    时间单位
    iphone命令行编译xcodebuild
  • 原文地址:https://www.cnblogs.com/zhangtao/p/2027246.html
Copyright © 2011-2022 走看看