![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() При нажатии на кнопку хочу чтоб программа в гарене заходила в комнату, а при нажатии другой - выходила.
Код:
procedure TForm1.btn1Click(Sender: TObject); var w_handle:integer; b_handle:integer; begin if FindWindow(nil, 'Garena LAN Game') <>0 then begin w_handle:= FindWindow(nil, 'Garena LAN Game'); b_handle:= FindWindowEx(w_handle, 0, nil, 'Russia DotA Clanwar Room 01 (1.26a)'); SendMessage(b_handle, wm_LButtondown, 1, 1); SendMessage(b_handle, wm_LButtonUp, 1, 1); end; end; Вот код, но что-то не получается. Последний раз редактировалось Flop88, 02.05.2012 в 22:37. |
#2
|
||||
|
||||
![]() Что то мне кажется, это on-line игра?
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
||||
|
||||
![]() что именно не получается?
З.Ы. проверка на нахождение одного окна стоит, а на второе нет, может быть второе окно не находит c таким заголовком? (если оно есть, конечно, см. что писал angvelem) соответственно и нажатие на кнопку мыши не отправляется, координаты нажатия верные? |
#4
|
|||
|
|||
![]() Angvelem,Не совсем
![]() Вот скриншотик ![]() ![]() Нужно чтоб при нажатии кнопки заходило в комнату |
#5
|
||||
|
||||
![]() Так поиск может ничего не дать. Где гарантия, что второе искомое окно лежит на первом. Пробуй EnumChildWindows.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
||||
|
||||
![]() проще посмотреть классы интересующих оконных элементов каким-нибудь WinSpy, а заодно и выяснить можно ли их обнаружить
|
#7
|
|||
|
|||
![]() Цитата:
![]() Что именно тут выбирать ? |
#8
|
||||
|
||||
![]() Нужное окно нашёл, теперь посмотри по закладкам, где описана иерархия "родителей".
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#9
|
|||
|
|||
![]() Этот скрин по удачнее будет
![]() ![]() |
#10
|
|||
|
|||
![]() Цитата:
![]() ![]() |
#11
|
||||
|
||||
![]() Нет у меня WinSpy, без надобности. Посмотри по закладкам, кому принадлежит данное окно и так далее до самого верхнего уровня.
Честно говоря, не понимаю я такого псевдо-хака, каждый десятый вопрос, как залезть на сайт, на форум, в игру. Но у каждого свои приколы. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#12
|
||||
|
||||
![]() ![]() получается следующее: на вкладке General в соответствующих полях прописаны заголовок (Caption) и класс окна (класс и заголовок указываются в параметрах функции поиска для нахождения окна), выделенного в дереве в правой половине окна. далее идут дочерние элементы со своими дочерними и их дочерними и т.д., если обнаружить необходимый элемент получилось - берем его заголовок и/или класс и подставляем в функцию поиска/перебора оконных элементов (FindWindow, FindWindowEx, EnumChildWindows), предварительно необходимо найти окно верхнего уровня - главную форму приложения З.Ы. картиночки слишком масштабные, если еще вставлять будете - подрезайте немного |