Посл.ответ |
Сообщение |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 29 июля 2010 09:57 · Личное сообщение · #1
Есть стороннее приложение написанное на Qt, назовем его Х. Требуется из моего приложения определять доступна ли для нажатия кнопка в программе Х и если доступна то нажать, если не доступна то ждать пока будет доступна и нажать. Через WinSpy++ выяснил что кнопка в программе Х enabled, но нажать на кнопку я всёравно не могу, видать есть какое-то внутреннее свойство у компонента которое определяет доступна кнопка или нет. Я первый раз пытаюсь делать такое, просьба помочь разобраться. Пока добрался только до хэндла кнопки и знаю как нажимать, с остальным проблемы. SBW := FindWindowEx(Parent, 0, nil, 'Кнопка'); SendMessage(SBW, WM_LBUTTONDOWN, 0, 0); SendMessage(SBW, WM_LBUTTONUP, 0, 0); Пишу на делфи.
| Сообщение посчитали полезным: |
|
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 29 июля 2010 12:16 · Поправил: Coderess · Личное сообщение · #2
Стоит проверять возвращаемый в SBW результат
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 29 июля 2010 12:21 · Поправил: sinys · Личное сообщение · #3
CoderessКод проверки есть, кнопка нормально нажимается когда она доступна для нажатия, привел сокращенный код. Как быть с проверкой доступности для нажатия кнопки?
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 29 июля 2010 12:58 · Личное сообщение · #4
IsWindowEnabled?
| Сообщение посчитали полезным: |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 29 июля 2010 13:02 · Личное сообщение · #5
ArcherIsWindowEnabled используется WinSpy++ и эта функция говорит что кнопка доступна, но на самом деле я её нажать не могу, видать какое-то другое свойство.
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 29 июля 2010 13:54 · Личное сообщение · #6
Ну давай линк тогда, что ли, гадать не катит.
| Сообщение посчитали полезным: |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 29 июля 2010 14:16 · Личное сообщение · #7
ArcherОтветил в личку.
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 29 июля 2010 15:16 · Личное сообщение · #8
Зря в личку, у меня времени не особо много разбираться с этим, а у других может оно быть. Тем более, что эта штука инета хочет. Дзенский вариант-изучать СДК от КТ. Не исключено, что это вообще не на сообщениях, и придётся патчить/инжектить свой код.
| Сообщение посчитали полезным: |
Ранг: 40.4 (посетитель), 3thx Активность: 0.08↘0 Статус: Участник
|
Создано: 29 июля 2010 15:18 · Личное сообщение · #9
Юзай SendMessage с параметром WM_CLICK.
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 29 июля 2010 17:35 · Личное сообщение · #10
ZLOvarТы вообще топ читал? В следующий раз сначала читай, потом пости.
| Сообщение посчитали полезным: |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 29 июля 2010 19:08 · Личное сообщение · #11
Я извиняюсь, что такое КТ? и если можно сразу ссылку на сдк про которое идет речь.
| Сообщение посчитали полезным: |
 Ранг: 164.6 (ветеран), 65thx Активность: 0.12↘0 Статус: Участник Волшебник
|
Создано: 29 июля 2010 19:16 · Личное сообщение · #12 |
Ранг: 0.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 30 июля 2010 10:54 · Личное сообщение · #13
Скачал Qt по ссылке. Создал простенькое приложение: форма и на ней кнопка и другие элементы управления. Так вот ни WinSpy ни TestComplete не смогли найти элементов управления на главном окне. В итоге только хэндл главного окна и больше ничего  Защита? Как-то снимается? Может какое-то свойтсво?
| Сообщение посчитали полезным: |
Ранг: 221.3 (наставник), 135thx Активность: 0.19↘0.07 Статус: Участник
|
Создано: 30 июля 2010 19:06 · Личное сообщение · #14
Кт использует свои обработчики, проще говоря оно не использует апи. Создай простое приложение с кнопкой и загони его в отладчик и там уже смотри что и как инициализируецо.
----- xchg dword [eax], eax | Сообщение посчитали полезным: |