| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с сообщениями |
| Автор: maxkazar 29.1.2004, 11:36 |
| Делаю два приложения....первое TForm1 и второе TForm2. Для второго приложения пишу процедурку procedure TForm2.Button1Click(Sender: TObject); var hWnd:THandle; begin hWnd:=FindWindow('TForm','Form1'); SendMessage(hWnd,WM_RBUTTONDOWN,MK_RBUTTON,$00100010); end; а в первом приложение описываю обработчик нажатия кнопки мышки procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button=(mbRight) then label1.Caption:=IntToStr(X)+':'+IntToStr(Y)+':Left' else label1.Caption:=IntToStr(X)+':'+IntToStr(Y)+':Nothing' end; теоретический я посылаю сообщение нажатия правой кнопки первому приложению и первое приложение должно прореагировать. Невыходит( |
| Автор: Полудненко Олег 29.1.2004, 12:58 |
| Дык первая процедура обрабатывает OnClick, а вторая - OnMouseDown. Может глюк в этом? |
| Автор: Paradox 29.1.2004, 13:24 | ||
дык поставь в
обычно еще hWnd на nil проверяют |
| Автор: maxkazar 29.1.2004, 14:29 |
| Да там все оки....просто старая тема....управляеть другими приложениями по средствам сообщений....дык не выходит....теоретический должно |
| Автор: <Spawn> 30.1.2004, 06:39 |
| а ты уверен, что hWnd содержит хендл окна? Значение класса и название окна ты верно указал? |
| Автор: StayAtHome 31.1.2004, 01:30 |
| Еще вариант: Можно в первом приложении работать не на OnMouseDown а напрямую отлавливать сообщение WM_RBUTTONDOWN. Тогда хоть увидишь где трабла: или сообщение не доходит, или VCL не генерирует OnMouseDown. |