Использование 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)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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