Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Delphi

Ответ
 
Опции темы
Старый 09.10.2012, 12:01   #1
Droider
AnyKey`щик
 
Регистрация: 09.10.2012
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Как нажать кнопку в чужом приложении

Помогите пожалуйста! Срочно нужно!

Есть чужое приложение
1.нахожу его хендл:

H := FindWindow (nil, PROG_NAME);

2.Закрываю его:

SendMessage( H, WM_CLOSE, 0, 0);

3. Выскакивает сообщение (информационное вроде), типа уверены ли вы?

4. Нахожу его хэндл

Hch := FindWindow(nil, 'Save' );

НЕ НАХОДИТ! (
В цикле тоже самое.
Как найти хэндл информационного окна чужого приложения??

+ Если кто знает, то как еще узнать было ли запущено даное приложение перед запуском в этот раз, иными словами как получить список хэндлов запущеных приложений?
(Offline)
 
Ответить с цитированием
Старый 09.10.2012, 16:14   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Как нажать кнопку в чужом приложении

В комплекте с Delphi идет утилита WinSight, она показывает информацию по всем имеющимся окнам в системе, можно ее попробовать.

А еще ЕМНИП есть способ зацепить активное в данный момент окно, тоже можно попробовать.
(Offline)
 
Ответить с цитированием
Старый 09.10.2012, 20:23   #3
Droider
AnyKey`щик
 
Регистрация: 09.10.2012
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как нажать кнопку в чужом приложении

Возникла другая идея обработки
1.Получить список запущеных процесов
2.Найти среди них нужный процес(вернее копию одного и того же процеса, только ту что была запущена позже)
3.Убить процес

Интересно, в таком случае будет выскакивать сообщение типа "Уверены ли вы что хотите выйти?"

И тут сразу же вопросы:
1. Как узнать какой из двух копий процеса был запущен позже? чтобы случайно не убить тот процес который был запущен первым
2. Как убить процес? Вот нарыл коечто http://www.programmersforum.ru/showthread.php?t=110820
Типа вот ето hp:= OpenProcess(PROCESS_TERMINATE, true, pid);
(Offline)
 
Ответить с цитированием
Старый 16.10.2012, 09:32   #4
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Как нажать кнопку в чужом приложении

Еще один вирусописатель!!! :D Зачем тебе убивать этот процесс когда можно нормально отыскать хендл окна, кнопки и т. д.
Если у тебя не получается найти хендл второго окна значить что то не так делаешь, однозначно!
__________________
(Offline)
 
Ответить с цитированием
Старый 16.10.2012, 10:10   #5
Droider
AnyKey`щик
 
Регистрация: 09.10.2012
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как нажать кнопку в чужом приложении

Тему закрыто. Проблема решена. Всем спасибо
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com