Использование UpdateResource в С#?C#

Место общения программистов C#
Гость
Использование UpdateResource в С#?

Сообщение Гость »


Я пытаюсь изменить значок внешнего исполняемого файла программно. Я погуглил и нашел много информации об этой проблеме с использованием C++. По сути, мне нужно использовать BeginUpdateResource, UpdateResource и EndUpdateResource. Проблема в том, что я не знаю, что передать UpdateResource в C#.

Вот код, который у меня есть:

класс IconChanger { [DllImport("kernel32.dll", SetLastError = true)] статический extern IntPtr BeginUpdateResource(строка pFileName, [MarshalAs(UnmanagedType.Bool)]bool bDeleteExistingResources); [DllImport("kernel32.dll", SetLastError = true)] static extern bool UpdateResource(IntPtr hUpdate, string lpType, string lpName, ushort wLanguage, IntPtr lpData, uint cbData); [DllImport("kernel32.dll", SetLastError = true)] статический extern bool EndUpdateResource (IntPtr hUpdate, bool fDiscard); публичное перечисление ICResult { Успех, ФаилБегин, Ошибка обновления, ФэйлЭнд } public ICResult ChangeIcon (строка exeFilePath, byte[] iconData) { // Загружаем исполняемый файл IntPtr handleExe = BeginUpdateResource (exeFilePath, false); если (handleExe == ноль) вернуть ICResult.FailBegin; // Получаем идентификатор языка CultureInfo currentCulture = CultureInfo.CurrentCulture; int pid = ((ushort)currentCulture.LCID) & 0x3ff; int sid = ((ushort)currentCulture.LCID) >> 10; ushort LanguageID = (ushort)((((ushort)pid)

Вернуться в «C#»