Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как нажать кнопку в чужом приложении.   Найти похожие ветки 

 
JohnKorsh   (2010-04-15 18:55) [0]

Не подскажете ли, почему не работает код - надо нажать кнопку "Ok" в окне Advanced WiFi-Manager. Это единственная кнопка в этом окне. Окно находится (H1 не 0), а кнопка в нём - нет.

var
  H1                       : hwnd;
  H2                       : hwnd;

 begin

  H1 := FindWindow (nil, "Advanced WiFi-Manager");
  if H1 <> 0 then
   begin
    H2 := FindWindowEx (H1, 0, "TBitBtn", "Ok");
    if H2 <> 0 then        // H2 всегда 0 - чего не так ищу?
     begin
      SendMessage(H2, BM_CLICK, 0, 0);
     end;
   end;

 end;


 
И. Павел ©   (2010-04-15 19:15) [1]

А у кнопки класс точно TBitBtn? Может быть стоит пройтись по всем элементам окна и уточнить?


 
Leonid Troyanovsky ©   (2010-04-15 19:22) [2]


> JohnKorsh   (15.04.10 18:55)  

>     H2 := FindWindowEx (H1, 0, "TBitBtn", "Ok");
>     if H2 <> 0 then        // H2 всегда 0 - чего не так
> ищу?

У оного нет окна.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 07:58) [3]

А как пройтись по всем элементам чужого окна?


 
И. Павел ©   (2010-04-16 08:11) [4]

> А как пройтись по всем элементам чужого окна?


EnumChildWindows, ChildWindowFromPoint, GetNextWindow.

Описание этих функций можно найти, например, тут: http://www.codenet.ru/progr/delphi/WinAPI/


 
JohnKorsh   (2010-04-16 08:30) [5]

Спасибо.


 
Leonid Troyanovsky ©   (2010-04-16 08:35) [6]


> JohnKorsh   (16.04.10 07:58) [3]

> А как пройтись по всем элементам чужого окна?

Если элементы суть не окна, то, считай, что никак.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 09:24) [7]

У меня заработал вот такой код, может, кому понадобится.

procedure TmAIN.Timer_AuxTimer(Sender: TObject);
 { Press of the key Ok on the Demo version of the WiFi Manager.}
 var
  H1                       : hwnd;

 begin

  H1 := FindWindow (nil, "Advanced WiFi-Manager");
  if H1 <> 0 then
   begin

    keybd_event(VK_RETURN, 0, 0, 0);
    keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);

   end;

  end;


 
Leonid Troyanovsky ©   (2010-04-16 09:35) [8]


> JohnKorsh   (16.04.10 09:24) [7]

> У меня заработал вот такой код

Для того, чтобы он работал, "Advanced WiFi-Manager"
необходимо быть foreground, т.е. FindWindow,
в данном случае излишен.

А сделать его foreground по таймеру, в общем
случае, не получится.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 15:20) [9]

Спасибо. Он действительно foreground - предупреждение о демо версии и 30 днях.


 
Игорь Шевченко ©   (2010-04-16 16:17) [10]

JohnKorsh   (16.04.10 15:20) [9]

Может купить ? А то ведь забаню нахрен


 
JohnKorsh   (2010-04-20 08:20) [11]

Извините, больше не буду. Да я бы купил, но у нас денег мало.


 
Anatoly Podgoretsky ©   (2010-04-20 13:31) [12]

> JohnKorsh  (20.04.2010 08:20:11)  [11]

Живите по средствам.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.064 c
2-1270313219
АнатолийПа
2010-04-03 20:46
2010.08.27
Транспортная


15-1267445916
Piter
2010-03-01 15:18
2010.08.27
Форматирование HTML кода из Delphi


8-1196327132
DimaTS
2007-11-29 12:05
2010.08.27
Надпись вдоль кривой (например по окружности)


15-1275683377
Юрий
2010-06-05 00:29
2010.08.27
С днем рождения ! 5 июня 2010 суббота


2-1266609205
Nianechka
2010-02-19 22:53
2010.08.27
Повторяющиеся строки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский