Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

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

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

Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.051 c
2-1160244953
learner
2006-10-07 22:15
2006.10.22
Аналог SysErrorMessage для NTSTATUS.


2-1159642430
vegarulez
2006-09-30 22:53
2006.10.22
Как удалить ячейку из стринг грид?


15-1159626752
Zhekacoder-Delphi
2006-09-30 18:32
2006.10.22
ЛЭТИ


15-1159350128
КаПиБаРа
2006-09-27 13:42
2006.10.22
Какой ноутбук выбрать


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский