Как работать с ресурсами (иконкой, строками) другого файла

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Как работать с ресурсами (иконкой, строками) другого файла

Сообщение viter.alex » 10.12.2008 (Ср) 2:24

Господа, поскольку обсуждение в теме немного вышло за рамки ее названия, уточним предмет разговора.

Итак, есть файл, консольное приложение, который делает очень простую вещь, при своем запуске открывает страничку в браузере. Ссылка на эту страницу содержится в самом файле.
Задача: с помощью другого файла с формой задавать значок в файле и ссылку, по которой он должен переходить.

Как переходить по ссылке при запуске мы с господами Williams'ом, iGrok'ом, Viper'ом и Nord777 разобрались.

Какие функции API дают возможность редактировать ресурсы в других файлах, как это делает, например, Restorator?
Лучше день потерять — потом за пять минут долететь!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Как работать с ресурсами (иконкой, строками) другого файла

Сообщение Viper » 10.12.2008 (Ср) 9:11

Для этого имеются следующие функции:
LoadLibrary для загрузки файла.
FindResource и LoadResource для загрузки ресурса.
LockResource для получения указателя на ресурс.
BeginUpdateResource, UpdateResource и EndUpdateResource собственно для обновления ресурсов.
FreeLibrary дабы отпустить на свободу измененный файл.
Применяются в указанной последовательности
Весь мир матрица, а мы в нем потоки байтов!

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Как работать с ресурсами (иконкой, строками) другого файла

Сообщение viter.alex » 10.12.2008 (Ср) 14:50

Начал разбираться. Мне кажется, что функции LoadResource, LockResource в данном случае не нужны.
Поясню, как я думаю.

    LoadLibrary — загружаем нужный файл в память;
    FindResource — ищем в этом файле нужный ресурс по идентификатору, который получили от LoadLibrary;
    BeginUpdateResource, UpdateResource, EndUpdateResource — обновляем нужный ресурс, идентификатор на который получили от FindResource
    FreeLibrary — Освобождаем файл
Ведь нам не нужно фиксировать старую иконку в памяти, т.к. мы ее никуда не сохраняем, и ничего с ней не делаем.
или я не прав?
Лучше день потерять — потом за пять минут долететь!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73

    TopList