How to extract the icon from an executable in C#

By FoxLearn 7/1/2024 9:46:07 AM   188
To extract the icon from an executable file (.exe) in C#, you can use the Icon.ExtractAssociatedIcon method from the System.Drawing namespace.

Here’s a step-by-step guide on how to extract the icon from an executable in C#.

Make sure your project has a reference to System.Drawing.

Use the Icon.ExtractAssociatedIcon method to extract the icon from the executable.

public Icon ExtractIconFromFilePath(string exePath)
{
    Icon result = null;
    try
    {
        // Extract the icon
        result = Icon.ExtractAssociatedIcon(exePath);
    }
    catch (Exception ex)
    {
        //Unable to extract the icon from the binary.
        MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    return result;
}

The Icon.ExtractAssociatedIcon method extracts the associated icon from the specified file. It returns an Icon object representing the extracted icon.

You can work with most executable files that contain an embedded icon resource. If the executable does not have an embedded icon or if the icon extraction fails for any reason, ExtractAssociatedIcon may return null.