собственно нужно отслеживать все сообщения которые шлёт винда определённому окну.мне нужно просто посмотреть что винда шлёт а не подменять собщения.у меня стоит Windows XP. буду очень благодарен если поможите. P.S. отвечаю зачем это нужно моей основной целью является эмуляция работы мыши в неактивном окне конкретно в игре. Код (Text): x:=100;y:=0; H:=FindWindow(Nil,'Google - Mozilla Firefox'); Edit1.Text:=IntToStr(H); PostMessage(H, WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(x,y)); PostMessage(H, wm_lbuttonup,MK_LBUTTON,MAKELONG(x,y)); a:=GetLastError; Edit2.Text:=IntToStr(a); работает для мозилы однако не работает для моей игры). поэтому я и решил отследить что винда шлёт игре при нажатии и движения мыши.буду очень благодарен если кто поможет.
xxDreYxx кхе, при чем тут питон? у тебя в браузере флеш или хтмл? На чем на сервере сделано, мало волнует )
xxDreYxx Игра имеет собственный клиент, наверняка там есть защита от ботов - соотвественно перехват и эмуляция клавы и мыши будет не таким простым делом Т.е первое что надо поверить, что хукает сам клиент и отсюда плясать.
valterg кстати удивительно но клавиши клиент эмулирует нормалльно Код (Text): H:=FindWindow(Nil,'EVE'); Edit1.Text:=IntToStr(H); postmessage(H, WM_KEYDOWN, VK_F10, 0 ); PostMessage(H, WM_KEYUP, VK_F10, 0 ); a:=GetLastError; Edit2.Text:=IntToStr(a); работает отлично. Кстати похоже клиент не принимает координаторы мыши от сообщения wm_lbuttonup а снимает их сам. т.к. код Код (Text): H:=FindWindow(Nil,'EVE'); Edit1.Text:=IntToStr(H); SetCursorPos(100,150) ; PostMessage(H, WM_LBUTTONDOWN,MK_LBUTTON,0); PostMessage(H, wm_lbuttonup,MK_LBUTTON,0); a:=GetLastError; Edit2.Text:=IntToStr(a); работает именно так как мне надо. То есть наводит мышь на нужную кнопку и нажимает её. Но меня такой вариант не устраивает ). Буду очень благодарен благодарен если кто-то подкинет идею как решить эту проблему. Извиняюсь что завёл вас в заблуждение с мозилой у игры есть собственный клиент.