Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2008, 09:40   #1
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию Взаимодействие с другим приложением

Можно ли произвести такие действия программно: В открытое чужое приложение в edit ввести текст, нажать кнопку, и произвести двойной щелчок по ListView. (Все действия произвести програмно!!!!) Возможно ли такое?? Искал в инете путного ничего не нашел
delphi is my world

Последний раз редактировалось XPAiN; 27.05.2008 в 10:48.
XPAiN вне форума Ответить с цитированием
Старый 27.05.2008, 11:03   #2
BlackOmen
Пользователь
 
Аватар для BlackOmen
 
Регистрация: 27.02.2008
Сообщений: 54
По умолчанию

Цитата:
Сообщение от XPAiN Посмотреть сообщение
Можно ли произвести такие действия программно: В открытое чужое приложение в edit ввести текст, нажать кнопку, и произвести двойной щелчок по ListView. (Все действия произвести програмно!!!!) Возможно ли такое?? Искал в инете путного ничего не нашел
Код:
 ....
var  E : HWND;
      elements:array[0..100]of HWND;  
      I:integer;
 ....

E := Findwindow(класс окна(можна nil), заголовок окна)

if E<>0 then
 begin
 elements[1]:=getwindow(E,GW_CHILD);
for i:=2 to 6 do
  begin
  elements[i]:=getwindow(elements[i-1],gw_hwndnext);
end;
Сначала ищешь окно функцией Findwindow, в ней указываешь параметры, по которым производится поиск, затем в случае обнаружение окна, запускается цикл заполнения массива "elements", после выполнения в нём появятся дескрипторы будь то кнопок едитов и прочее...

Потом перебором определяешь какое именно надо и шлешь месаги.
Для заполнения едита :

Код:
SendMessage(elements[i],WM_SETTEXT,0,LongInt(PChar('текст')));
Для нажатия на кнопку аналогично:

Код:
sendMessage(elements[i],WM_IME_KEYDOWN,VK_RETURN,0); //нажали
sendMessage(elements[i],WM_IME_KEYUP,VK_RETURN,0);      //отпустили

Ну вот на счёт двойного щелчка по ListView не чё сказать не могу.
BlackOmen вне форума Ответить с цитированием
Старый 27.05.2008, 11:29   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ну вот на счёт двойного щелчка по ListView не чё сказать не могу.
Как минимум отправить ему WM_LBUTTONDBLCLK
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.05.2008, 14:31   #4
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Спасибо попробую
delphi is my world
XPAiN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
взаимодействие с QIP Toxa Общие вопросы Delphi 5 20.06.2008 19:39
Написанное мною приложение управляет другим. Подскажите... Aleksey_89 Общие вопросы C/C++ 1 20.12.2007 07:22
Как скопировать проект под другим именем? Dimoney Свободное общение 4 17.12.2007 13:50
Замена одного элемента строки другим kkkggg PHP 1 18.10.2007 23:09
Работа с файлом, занятым другим процессом Viteef Общие вопросы Delphi 3 10.05.2007 20:45