IconExtractor.dll 1.0.2.1-beta

IconExtractor/IconUtil Library for .NET

Suggested Alternatives

WinCopies.IconExtractor

This is a prerelease version of IconExtractor.dll.
Install-Package IconExtractor.dll -Version 1.0.2.1-beta
dotnet add package IconExtractor.dll --version 1.0.2.1-beta
<PackageReference Include="IconExtractor.dll" Version="1.0.2.1-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IconExtractor.dll --version 1.0.2.1-beta
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: IconExtractor.dll, 1.0.2.1-beta"
For F# scripts that support #r syntax, copy this into the source code to reference the package.

IconExtractor (Beta)

Icon Extractor Library for .NET

http://www.codeproject.com/Articles/26824/Extract-icons-from-EXE-or-DLL-files

Extract all the variations of an icon from .DLL/.EXE, including the ones ExtractIconEx() can't extract.

The beta version supports SourceLink

Usage

First, add a reference to IconExtractor.dll to your .NET project. Then...

using System;
using System.Drawing;
using TsudaKageyu;

// -----------------------------------------------------------------------------
// Usage of IconExtractor class:

// Construct an IconExtractor object with a file.

IconExtractor ie = new IconExtractor(@"D:\sample.exe");

// Get the full name of the associated file.

string fileName = ie.FileName;

// Get the count of icons in the associated file.

int iconCount = ie.Count;

// Extract icons individually.

Icon icon0 = ie.GetIcon(0);
Icon icon1 = ie.GetIcon(1);

// Save icons individually.

using (var fs = File.OpenWrite(@"D:\sample0.ico"))
{
    ie.Save(0, fs);
}

// Extract all the icons in one go.

Icon[] allIcons = ie.GetAllIcons();

// -----------------------------------------------------------------------------
// Usage of IconUtil class:

// Split the variations of icon0 into separate icon objects.

Icon[] splitIcons = IconUtil.SplitIcon(icon0);

// Convert an icon into bitmap. Unlike Icon.ToBitmap() it preserves the transparency.

Bitmap bitmap = IconUtil.ToBitmap(splitIcon[1]);

// Get the bit count of an icon.

int bitCount = IconUtil.GetBitCount(splitIcon[2]);

IconExtractor (Beta)

Icon Extractor Library for .NET

http://www.codeproject.com/Articles/26824/Extract-icons-from-EXE-or-DLL-files

Extract all the variations of an icon from .DLL/.EXE, including the ones ExtractIconEx() can't extract.

The beta version supports SourceLink

Usage

First, add a reference to IconExtractor.dll to your .NET project. Then...

using System;
using System.Drawing;
using TsudaKageyu;

// -----------------------------------------------------------------------------
// Usage of IconExtractor class:

// Construct an IconExtractor object with a file.

IconExtractor ie = new IconExtractor(@"D:\sample.exe");

// Get the full name of the associated file.

string fileName = ie.FileName;

// Get the count of icons in the associated file.

int iconCount = ie.Count;

// Extract icons individually.

Icon icon0 = ie.GetIcon(0);
Icon icon1 = ie.GetIcon(1);

// Save icons individually.

using (var fs = File.OpenWrite(@"D:\sample0.ico"))
{
    ie.Save(0, fs);
}

// Extract all the icons in one go.

Icon[] allIcons = ie.GetAllIcons();

// -----------------------------------------------------------------------------
// Usage of IconUtil class:

// Split the variations of icon0 into separate icon objects.

Icon[] splitIcons = IconUtil.SplitIcon(icon0);

// Convert an icon into bitmap. Unlike Icon.ToBitmap() it preserves the transparency.

Bitmap bitmap = IconUtil.ToBitmap(splitIcon[1]);

// Get the bit count of an icon.

int bitCount = IconUtil.GetBitCount(splitIcon[2]);

Release Notes

System requirements:

.NET Framework version: 4.0
OS: Windows

New in this version:

Supports .NET 4.0
Project link: https://wincopies.com/

License link: https://github.com/pierresprim/IconExtractor/blob/master/LICENSE.txt

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.2.1-beta 247 10/21/2019
1.0.2 321 10/21/2019
1.0.1 228 5/31/2019