Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Операции над чужим окном


Gena KAKAIN ©   (2006-09-08 12:58:00) 

Известен только заголовок программы. Как в этой программе в Main Menu добавить новый пункт и чтобы при шелчке по нему запускался файл??


Gena KAKAIN   (2006-09-09 15:07:00) [1]

Что-то я передумал делать... :-)))


GrayFace   (2006-09-09 13:16:00) [2]

Приготовься попотеть.
Работа с меню:
 F1 + GetMenu + Group.
Обработка нажатия:
 внедрение и обработка WM_COMMAND.
1) У окна надо узнать поток - GetWindowThreadProcessId
2) Создавай Dll, в ней пиши процедуру, устанавливающую хук:
SetWindowsHookEx(WH_GETMESSAGE, @HookProc, hInstance, ThreadId); // ThreadId получен на шаге 1и потом еще отправляет PostMessage(hwnd, WM_NULL, 0, 0);
Т.о. экземпляр dll'ки будет внедрен в нужный процесс и HookProc будет обрабатывать сообщения. Осталось передать тому экземпляру HHook и HWnd.
3) Создавай на старте библиотеке MMF, содержащий hhook, hwnd и всю нужную информацию, заполняй его на шаге 2 и используй в HookProc. Поищи статью по слову "hooks" - там есть примеры. Но учти, что в процедуре хука wParam:integer, а не word и DllProc - это не stdcall.


Наверх

Титульная страница Поиск, карта сайта Написать письмо