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();
            } 
        }
    }
  • 相关阅读:
    FastDFS搭建
    关于nginx性能优化CPU参数worker_cpu_affinity使用说明
    LNMP一键安装升级nginx及php常用设置 SFTP管理指南
    Nginx的防盗链
    Nginx+PHP 配置漏洞:静态文件都可以当作 PHP 解析
    Nginx技巧:灵活的server_name
    数据库分表时OR Mapping方法
    nginx配置多域名反向代理
    nginx server 实时监控
    转:SQL Server 2005数据库分表实例
  • 原文地址:https://www.cnblogs.com/wpf123/p/2052877.html
Copyright © 2011-2022 走看看