Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.05.2012, 22:29
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
Вопрос Проблемка с winapi

При нажатии на кнопку хочу чтоб программа в гарене заходила в комнату, а при нажатии другой - выходила.


Код:
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  
Старый 02.05.2012, 22:40
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Что то мне кажется, это on-line игра?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 02.05.2012, 22:44
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

что именно не получается?

З.Ы. проверка на нахождение одного окна стоит, а на второе нет, может быть второе окно не находит c таким заголовком? (если оно есть, конечно, см. что писал angvelem) соответственно и нажатие на кнопку мыши не отправляется, координаты нажатия верные?
Ответить с цитированием
  #4  
Старый 02.05.2012, 22:44
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Angvelem,Не совсем
Вот скриншотик

Нужно чтоб при нажатии кнопки заходило в комнату
Ответить с цитированием
  #5  
Старый 02.05.2012, 22:50
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Так поиск может ничего не дать. Где гарантия, что второе искомое окно лежит на первом. Пробуй EnumChildWindows.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #6  
Старый 02.05.2012, 22:53
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

проще посмотреть классы интересующих оконных элементов каким-нибудь WinSpy, а заодно и выяснить можно ли их обнаружить
Ответить с цитированием
  #7  
Старый 03.05.2012, 00:13
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Цитата:
Сообщение от cotseec
проще посмотреть классы интересующих оконных элементов каким-нибудь WinSpy, а заодно и выяснить можно ли их обнаружить
По точнее можно ? Я скачал WinSpy++, указал в ней на то поле, которое мне нужно. Но там много всякой инфы высвечивается.

Что именно тут выбирать ?
Ответить с цитированием
  #8  
Старый 03.05.2012, 00:16
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нужное окно нашёл, теперь посмотри по закладкам, где описана иерархия "родителей".
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #9  
Старый 03.05.2012, 00:16
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Этот скрин по удачнее будет
Ответить с цитированием
  #10  
Старый 03.05.2012, 00:22
Flop88 Flop88 вне форума
Прохожий
 
Регистрация: 30.04.2012
Сообщения: 34
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Нужное окно нашёл, теперь посмотри по закладкам, где описана иерархия "родителей".
Там много лишнего написано Я даже приблизительно не знаю как эта иерархия выглядит
Ответить с цитированием
  #11  
Старый 03.05.2012, 00:29
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нет у меня WinSpy, без надобности. Посмотри по закладкам, кому принадлежит данное окно и так далее до самого верхнего уровня.

Честно говоря, не понимаю я такого псевдо-хака, каждый десятый вопрос, как залезть на сайт, на форум, в игру. Но у каждого свои приколы.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #12  
Старый 03.05.2012, 07:46
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию



получается следующее:
на вкладке General в соответствующих полях прописаны заголовок (Caption) и класс окна (класс и заголовок указываются в параметрах функции поиска для нахождения окна), выделенного в дереве в правой половине окна. далее идут дочерние элементы со своими дочерними и их дочерними и т.д., если обнаружить необходимый элемент получилось - берем его заголовок и/или класс и подставляем в функцию поиска/перебора оконных элементов (FindWindow, FindWindowEx, EnumChildWindows), предварительно необходимо найти окно верхнего уровня - главную форму приложения

З.Ы. картиночки слишком масштабные, если еще вставлять будете - подрезайте немного
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:28.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025