Вниз
Скачать: CL | DM;

Иконка приложения   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
3-14936
freeman
2002-12-11 22:12
2003.01.06
файл-серверная база данных


1-14999
Natali
2002-12-23 13:53
2003.01.06
команды WinAPI


6-15182
ppcat
2002-11-06 10:20
2003.01.06
rxTray не дает Windows завершить работу


14-15295
F1
2002-12-15 13:22
2003.01.06
Как сделать загрузочный CD


1-15064
volph7777
2002-12-24 18:10
2003.01.06
парсинг простого текстового файла




   Наверх