![]() |
EXE Icon austauschen
Hallo DP
Ich probiere ein Icon einer fremden EXE auszutauschen und bin auf die UpdateExeIcon gestossen. 2 Fragen: - Was genau macht MAKELANGID und welche parameter muss man einsetzen? Sind die Sprachen abhängig vom Programm oder OS? - Wie findet man die Bezeichnung für "iconGroup" für das Haupticon der Exe Datei?
Delphi-Quellcode:
Uses madres {resource functions for both NT and 9x families - sourcecode @ madshi.net}
{$R *.res} function MAKELANGID(sPrimaryLanguage: Word; sSubLanguage: Word): Word; begin result := (sSubLanguage shl 10) or sPrimaryLanguage; end; function UpdateExeIcon(exeFile, iconGroup, icoFile: string; language: word): boolean; var resUpdateHandle: dword; c: TPIconGroup; begin resUpdateHandle := BeginUpdateResourceW(PWideChar(wideString(exeFile)), false); if resUpdateHandle <> 0 then begin if GetIconGroupResourceW(resUpdateHandle, PWideChar(wideString(iconGroup)), language, c) then result := LoadIconGroupResourceW(resUpdateHandle, PWideChar(wideString(iconGroup)), language, PWideChar(wideString(icoFile))) else if StrToIntDef(iconGroup, -1) > -1 then result := LoadIconGroupResourceW(resUpdateHandle, PWideChar(pointer(strtoint(iconGroup))), language, PWideChar(wideString(icoFile))) else result := false; result := EndUpdateResourceW(resUpdateHandle, false) and result; end else result := false; end; begin UpdateExeIcon('Project1.exe', 'MainIcon', 'red.ico', makelangid(LANG_German, SUBLANG_GERMAN)); end. |
Re: EXE Icon austauschen
habe das gleiche Problem. Möchte eine Icon Datei austauschen aber obiger Code funtioniert nicht richtig.
|
Re: EXE Icon austauschen
Woher stammt denn der Code überhaupt?
|
Re: EXE Icon austauschen
Zitat:
|
Re: EXE Icon austauschen
Code stammt von:
![]() |
Re: EXE Icon austauschen
|
Re: EXE Icon austauschen
Zitat:
Getestet unter XP. |
Re: EXE Icon austauschen
Zitat:
Auch die oben gepostete Function UpdateExeIcon funktioniert. Ein Fehler liegt im Aufruf: Zitat:
|
Re: EXE Icon austauschen
mit 'MAINICON' funktioniert es. Doch stellt sich immer noch die Frage, welche Parameter bei makelangid() eingesetzt werden sollten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz