Program służy do zamiana ikonek w plikach .exe. Program napisany na platformie WPF.
Wrzucamy plik w pole APP żądaną ikonkę w pole ICON i naciskamy Confirm
Program polega na 3 etapach:
Etap 1 Pobranie ikonki końcowej realizuje zdarzenie Drop
następnie tworzy na podstawie ścieżki pliku BitmapSource który następnie jest używany do ustawiania w polu ICON które jest elementem Image w WPF
Etap 2 Pobranie ikonki z pliku o rozszerzeniu .exe odbywa się za pomocą biblioteki TAFactory.IconPack.dll
kod zródłowy tej biblioteki można znaleźć tutaj IconPack pobranie ikonki odbywa się następująco:
List<Icon> icons = IconHelper.ExtractAllIcons(iconPath);
Icon smallIcon = IconHelper.GetBestFitIcon(icons[0], new System.Drawing.Size(64, 64));
FileStream fs = File.Create(path);
smallIcon.Save(fs);
fs.Close();
Etap 3 Dołączenie ikonki do zasobów pliku o rozszerzeniu .exe odbywa się za pomocą klasy IconInjector kod źrodłowy był wzięty z forum CyberForum IconInejctor oraz przepisany w języku C# po dołączeniu tej klasy zamiana ikonki odbywa się za pomocą polecenia:
IconInjector.InjectIcon(appPath, endIconPath);