Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизИконка приложения Найти похожие ветки
← →
dkDimon (2002-12-21 19:13) [0]Что-то я никак не воткну, по какому принципу вообще определяется иконка приложения (которая видна в Exporer"е)... И как ее поменять, не перекомпилируя проект (например, из специально написанной для этого программе)?
← →
$Angel$!!! (2002-12-21 19:18) [1]Наверно не получицца!
← →
dkDimon (2002-12-21 19:24) [2]Почему это не получится?
← →
Kotka (2002-12-21 20:29) [3]>по какому принципу вообще определяется иконка приложения
Первая или последняя (не помню) иконка в ресурсах приложения.
>И как ее поменять, не перекомпилируя проект
С помощью программ-редакторов ресурсов, правда как после такой правки себя будет вести прога, никому не известно
← →
Morfein (2002-12-21 20:36) [4]Первая...
← →
dkDimon (2002-12-21 21:35) [5]Ну что первая, это я уже и сам догадался. С помощью программ-редакторо ресурсов мне не подходит (я знаю как ее поменять с помощью редакторов), а мне нужно кодом поменять...
← →
Morfein (2002-12-21 21:44) [6]Хы... кодом всё тоже просто... только, смотря на что надо поменять...
Если размеры заменяемого и заменяющего [:))] значков совпадают, то я знаю как...
А если нет, то хз...
← →
Kotka (2002-12-22 01:05) [7]В поставке с делфи есть демо-проект Delphi6\Demos\ResXplor. Но он позволяет просматривать ресурсы. Изучай код, может и изменять ресурсы научишься...
← →
drin (2002-12-22 01:13) [8]Меняй ресурсы, только из др. программы:
windows.BeginUpdateResource
windows.UpdateResource
windows.EndUpdateResource
Читай справку, пробуй и всё получится ;)
← →
dkDimon (2002-12-22 11:25) [9]Проблема в том, что BeginUpdateResoruce, UpdateResource и EndUpdateResource пользоваться я умею. Легко получаю и меняю данные в RC_DATA. а вот с иконками никак не могу разобраться. Даже когда пытаюсь прочитать из exe иконку получается какая-то херня в 20 байт.
Вот такой код у меня (чтение иконки и запись в файл)...
var
hRes: HRSRC;
gRes: hGlobal;
hDll: hModule;
ResData: Pointer;
Str: TMemoryStream;
begin
hDll := LoadLibrary(PChar(FileName));
hRes := FindResource(hDll, "MAINICON", RT_GROUP_ICON);
gRes := LoadResource(hDll, hRes);
ResData := LockResource(gRes);
if ResData = nil then Exit;
Str := TMemoryStream.Create;
Str.Write(ResData^, SizeOfResource(hDll, hRes));
Str.SaveToFile("mainicon.ico");
Str.Free;
FreeLibrary(hDll);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c