Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Своя иконка возле кнопок свернуть,развернуть, закрыть   Найти похожие ветки 

 
ychenick ©   (2006-06-01 01:45) [0]

Приветсвую вас, мастера!
Необходимо поместить кнопк в заголовок ЧУЖОГО окна рядом с кнопками свернуть,развернуть, закрыть(хендел окна известен). Так же нужно написать обработчик этой кнопки на чужом окне. Еще на кнопке должен быть изображон графический рисунок.

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


 
StriderMan ©   (2006-06-01 15:34) [1]

в заголовок наверное нереально без переписывания системных DLL

А вот в чужое окно подложить свою форму - у меня получилось
СвояФорма.ParentWindow := ХэндлЧужогоОкна;


 
DVM ©   (2006-06-01 17:09) [2]


> в заголовок наверное нереально без переписывания системных
> DLL

Реально.
1) Внедриться в адресное пространство процесса чужого окна.
2) Подменить оконную процедуру.
3) Ловить сообщения рисования заголовка
4) Рисовать чего угодно.


 
ychenick ©   (2006-06-01 17:16) [3]

антивирусы такое секут -  внедрение в чужое адресное пространство  =(
Мне кажется все можно проще через WinAPI реализовать....


 
tesseract ©   (2006-06-01 17:20) [4]


> антивирусы такое секут -  внедрение в чужое адресное пространство
>  =( Мне кажется все можно проще через WinAPI реализовать.
> ...

Мдям. А что в delphi появился компонет для внетрения в чужое адресное пространство?

Антивирусы секут запись в код, А посадить иконку на панельку можно.


 
DVM ©   (2006-06-01 17:21) [5]


> антивирусы такое секут -  внедрение в чужое адресное пространство

Не секут. Эксплорер, между прочим, тоже внедряется (хук ставит WH_SHELL) и ничего.


 
n0name   (2006-06-01 19:41) [6]

Знаешь C?
Могу скинуть пример.


 
ychenick ©   (2006-06-05 17:42) [7]

tesseract ©
Мдям. А что в delphi появился компонет для внетрения в чужое адресное пространство?

Не, не появился, но при прямой работе с памятью можно и такое зачудить

DVM ©
Не секут. Эксплорер, между прочим, тоже внедряется (хук ставит WH_SHELL) и ничего.


Не знаю, у меня нод сичет. А эксплорер - это исключение.

С знаю совсем немного, но за примерчик буду благодарен. Скинь на указанное мыло, только слеши поубирай в адресе ;)


 
tesseract ©   (2006-06-05 17:46) [8]


> Не секут. Эксплорер, между прочим, тоже внедряется (хук
> ставит WH_SHELL) и ничего.

Хук и запись в память процесса разные вещи.


 
DVM ©   (2006-06-06 10:06) [9]


> Хук и запись в память процесса разные вещи.

А где я сказал, что это одно и то же?


 
ychenick ©   (2006-06-06 16:25) [10]

И все же, как создать кнопку в заголовке ЧУЖОГО окна?

Допустим, обработать ее нажатие мы сможем поставив хук и перехватывая сообщения.


 
Игорь Шевченко ©   (2006-06-06 17:17) [11]

ychenick ©   (06.06.06 16:25) [10]

Создать (нарисовать) ее тоже можно, поставив хук и обрабатывая сообщения
WM_SETTEXT, WM_SYSCOMMAND, WM_SETICON, WM_NCPAINT, WM_NCACTIVATE, WM_NCMOUSEMOVE, WM_NCLBUTTONDOWN, WM_INITMENUPOPUP



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
9-1137704114
Amaterasu
2006-01-19 23:55
2006.10.22
Анимация


2-1160336277
vain
2006-10-08 23:37
2006.10.22
Form.Refresh


2-1159813650
Alral
2006-10-02 22:27
2006.10.22
Opredelenie nazhatija klavishi(NE CHEREZ KeyPress, KeyDown...)


4-1149856535
TRyaSS
2006-06-09 16:35
2006.10.22
Как открыть существующий файл, чтобы дописать с


6-1148556769
Andrey_r
2006-05-25 15:32
2006.10.22
IdFTP