Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
ВнизИконка чужого приложения Найти похожие ветки
← →
nnm (2010-10-02 12:17) [0]Подскажите, возможно ли изменить иконку чужого приложения во время его работы?
← →
Anatoly Podgoretsky © (2010-10-02 12:33) [1]> nnm (02.10.2010 12:17:00) [0]
А что значит изменить?
← →
flasher (2010-10-02 12:35) [2]значит установить другую, которую мне надо
← →
nnm (2010-10-02 12:35) [3]Именно !
← →
бумбум (2010-10-02 12:35) [4]
> Подскажите, возможно ли изменить иконку чужого приложения
> во время его работы?
во время его работы врятли.
← →
Rouse_ © (2010-10-02 12:43) [5]Заменить в самом приложении или просто поменять текущую отображаемую? Если первое - то нельзя, со вторым можно повозиться через внедрение в удаленный процесс
← →
бумбум (2010-10-02 12:44) [6]
> во время его работы врятли.
Хотя нет, только что проверил стороннеёй программой просто новый exe"шник сохроняет отдельно
← →
Anatoly Podgoretsky © (2010-10-02 12:53) [7]> flasher (02.10.2010 12:35:02) [2]
Так в этом случае иконка не изменяется.
← →
0x00FF00 © (2010-10-02 16:54) [8]
> Rouse_ © (02.10.10 12:43) [5]
Если сильно напрячься, а также отключить антивирусные средства — то всё же можно.
Пример доступа к файлу запущенного процесса пару лет назад здесь проскакивал.
Дальше дело техники: распарсить секцию ресурсов и заменить вложенный в неё файл с иконкой.
И всё же, несмотря на эту теоретическую возможность, практика её реализации заставит невзвидеть белый свет. Овчинка не стоит выделки.
← →
Leonid Troyanovsky © (2010-10-03 14:57) [9]
> nnm (02.10.10 12:35) [3]
> Именно !
procedure TForm1.Button1Click(Sender: TObject);
var
wnd: HWND;
begin
WinExec("notepad", SW_SHOW);
wnd := FindWindow("notepad", nil);
SendMessage(wnd, WM_SETICON, ICON_SMALL, Application.Icon.Handle);
end;
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c